diff options
author | fenner <fenner@FreeBSD.org> | 1996-10-01 23:14:35 +0000 |
---|---|---|
committer | fenner <fenner@FreeBSD.org> | 1996-10-01 23:14:35 +0000 |
commit | f0be48c6af2eaec668865dff86d62e3f008a8ef5 (patch) | |
tree | 5f918dd1d092d1a7ae36f00e49095a8cc8f24101 /usr.sbin/mrouted/mtrace.c | |
parent | 7960c9984d0275acf13a0caf86609519bd757f03 (diff) | |
download | FreeBSD-src-f0be48c6af2eaec668865dff86d62e3f008a8ef5.zip FreeBSD-src-f0be48c6af2eaec668865dff86d62e3f008a8ef5.tar.gz |
Release setuid immediately after initializing; this minimizes the
possibility of security holes allowing root penetration.
Inspired by: Mark Handley <M.Handley@cs.ucl.ac.uk> and
Theo de Raadt <deraadt@theos.com> independently
Submitted by: Theo de Raadt <deraadt@theos.com>
Diffstat (limited to 'usr.sbin/mrouted/mtrace.c')
-rw-r--r-- | usr.sbin/mrouted/mtrace.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/usr.sbin/mrouted/mtrace.c b/usr.sbin/mrouted/mtrace.c index 389084a..e84d9e5 100644 --- a/usr.sbin/mrouted/mtrace.c +++ b/usr.sbin/mrouted/mtrace.c @@ -50,7 +50,7 @@ #ifndef lint static char rcsid[] = - "@(#) $Id: mtrace.c,v 3.8 1995/11/29 22:36:34 fenner Rel $"; + "@(#) $Id: mtrace.c,v 1.7 1996/01/06 21:10:05 peter Exp $"; #endif #include <netdb.h> @@ -629,8 +629,6 @@ passive_mode() int len, recvlen, dummy = 0; u_int32 smask; - init_igmp(); - if (raddr) { if (IN_MULTICAST(ntohl(raddr))) k_join(raddr, INADDR_ANY); } else k_join(htonl(0xE0000120), INADDR_ANY); @@ -1168,6 +1166,9 @@ char *argv[]; exit(1); } + init_igmp(); + setuid(getuid()); + argv++, argc--; if (argc == 0) goto usage; @@ -1304,8 +1305,6 @@ Usage: mtrace [-Mlnps] [-w wait] [-m max_hops] [-q nqueries] [-g gateway]\n\ exit(1); } - init_igmp(); - /* * Set useful defaults for as many parameters as possible. */ |