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) {
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to