From 28d02ea6f329537557408ba91e03fcf6f0eafd7d Mon Sep 17 00:00:00 2001 From: "Dmitry V. Levin" Date: Mon, 18 Apr 2016 14:38:04 +0000 Subject: [PATCH] tests: extend test coverage of setregid syscall * tests/setregid.c: New file. * tests/setregid.test: New test. * tests/.gitignore: Add setregid. * tests/Makefile.am (check_PROGRAMS): Likewise. (DECODER_TESTS): Add setregid.test. --- tests/.gitignore | 1 + tests/Makefile.am | 2 ++ tests/setregid.c | 25 +++++++++++++++++++++++++ tests/setregid.test | 6 ++++++ 4 files changed, 34 insertions(+) create mode 100644 tests/setregid.c create mode 100755 tests/setregid.test diff --git a/tests/.gitignore b/tests/.gitignore index 97e27bb0..f5cfb659 100644 --- a/tests/.gitignore +++ b/tests/.gitignore @@ -145,6 +145,7 @@ set_ptracer_any setgid setgid32 sethostname +setregid setreuid setreuid32 setuid diff --git a/tests/Makefile.am b/tests/Makefile.am index 7b5fe23a..c0b14033 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -195,6 +195,7 @@ check_PROGRAMS = \ setgid \ setgid32 \ sethostname \ + setregid \ setreuid \ setreuid32 \ setuid \ @@ -408,6 +409,7 @@ DECODER_TESTS = \ setgid.test \ setgid32.test \ sethostname.test \ + setregid.test \ setreuid.test \ setreuid32.test \ setuid.test \ diff --git a/tests/setregid.c b/tests/setregid.c new file mode 100644 index 00000000..6efa3881 --- /dev/null +++ b/tests/setregid.c @@ -0,0 +1,25 @@ +#include "tests.h" +#include + +#ifdef __NR_setregid + +# define SYSCALL_NR __NR_setregid +# define SYSCALL_NAME "setregid" + +# if defined __NR_setregid32 && __NR_setregid != __NR_setregid32 +# define UGID_TYPE short +# define GETUGID syscall(__NR_getegid) +# define CHECK_OVERFLOWUGID(arg) check_overflowgid(arg) +# else +# define UGID_TYPE int +# define GETUGID getegid() +# define CHECK_OVERFLOWUGID(arg) +# endif + +# include "setreugid.c" + +#else + +SKIP_MAIN_UNDEFINED("__NR_setregid") + +#endif diff --git a/tests/setregid.test b/tests/setregid.test new file mode 100755 index 00000000..101c7bdf --- /dev/null +++ b/tests/setregid.test @@ -0,0 +1,6 @@ +#!/bin/sh + +# Check setregid syscall decoding. + +. "${srcdir=.}/init.sh" +run_strace_match_diff -a15 -- 2.40.0