svn commit: r220969 - head/usr.sbin/rwhod
Simon L. Nielsen
simon at FreeBSD.org
Sat Apr 23 13:42:04 UTC 2011
Author: simon
Date: Sat Apr 23 13:42:03 2011
New Revision: 220969
URL: http://svn.freebsd.org/changeset/base/220969
Log:
Check return code of setuid(), setgid(), and setgroups() in rwhod.
While they will not fail in normal circumstances, better safe than
sorry.
MFC after: 1 week
Modified:
head/usr.sbin/rwhod/rwhod.c
Modified: head/usr.sbin/rwhod/rwhod.c
==============================================================================
--- head/usr.sbin/rwhod/rwhod.c Sat Apr 23 13:07:35 2011 (r220968)
+++ head/usr.sbin/rwhod/rwhod.c Sat Apr 23 13:42:03 2011 (r220969)
@@ -248,9 +248,18 @@ main(int argc, char *argv[])
syslog(LOG_ERR, "bind: %m");
exit(1);
}
- setgid(unpriv_gid);
- setgroups(1, &unpriv_gid); /* XXX BOGUS groups[0] = egid */
- setuid(unpriv_uid);
+ if (setgid(unpriv_gid) != 0) {
+ syslog(LOG_ERR, "setgid: %m");
+ exit(1);
+ }
+ if (setgroups(1, &unpriv_gid) != 0) { /* XXX BOGUS groups[0] = egid */
+ syslog(LOG_ERR, "setgroups: %m");
+ exit(1);
+ }
+ if (setuid(unpriv_uid) != 0) {
+ syslog(LOG_ERR, "setuid: %m");
+ exit(1);
+ }
if (!configure(s))
exit(1);
if (!quiet_mode) {
More information about the svn-src-all
mailing list