/* --- 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 --- */