diff options
-rw-r--r-- | usr.bin/finger/finger.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/usr.bin/finger/finger.c b/usr.bin/finger/finger.c index dcdc3f4..6586f0a 100644 --- a/usr.bin/finger/finger.c +++ b/usr.bin/finger/finger.c @@ -164,11 +164,15 @@ main(int argc, char **argv) if (getuid() == 0 || geteuid() == 0) { invoker_root = 1; if ((pw = getpwnam(UNPRIV_NAME)) && pw->pw_uid > 0) { - setgid(pw->pw_gid); - setuid(pw->pw_uid); + if (setgid(pw->pw_gid) != 0) + err(1, "setgid()"); + if (setuid(pw->pw_uid) != 0) + err(1, "setuid()"); } else { - setgid(UNPRIV_UGID); - setuid(UNPRIV_UGID); + if (setgid(UNPRIV_UGID) != 0) + err(1, "setgid()"); + if (setuid(UNPRIV_UGID) != 0) + err(1, "setuid()"); } } |