X-Git-Url: https://git.distorted.org.uk/~mdw/catacomb/blobdiff_plain/8039afaf2c8b0a9bb3359206719859b0da53ea7c..15dfa998435a40ff3a7b1de4ec85541e8bac08dc:/rand/noise.c diff --git a/rand/noise.c b/rand/noise.c index de120d8b..280c49cb 100644 --- a/rand/noise.c +++ b/rand/noise.c @@ -388,16 +388,15 @@ int noise_filter(rand_pool *r, int good, const char *c) /* --- Play games with uids --- */ if (noise_gid != NOISE_NOSETGID) { - setgid(noise_gid); - setegid(noise_gid); + if (setgid(noise_gid) || setegid(noise_gid) #ifdef HAVE_SETGROUPS - setgroups(1, &noise_gid); + || setgroups(1, &noise_gid) #endif + ) _exit(127); } if (noise_uid != NOISE_NOSETUID) { - setuid(noise_uid); - seteuid(noise_uid); + if (setuid(noise_uid) || seteuid(noise_uid)) _exit(127); } /* --- Start the process up --- */