diff options
| author | Peter Wemm <peter@FreeBSD.org> | 1999-11-17 15:28:45 +0000 |
|---|---|---|
| committer | Peter Wemm <peter@FreeBSD.org> | 1999-11-17 15:28:45 +0000 |
| commit | 6ff4ec180d8d4ee6829aed45a5e3044cebb8507a (patch) | |
| tree | bc86a7a2d7e79b3c54f762de225e07063f09d78f /usr.bin | |
| parent | 821079e9beaa66ea0d0bf4d497b22a467803bebc (diff) | |
Notes
Diffstat (limited to 'usr.bin')
| -rw-r--r-- | usr.bin/w/Makefile | 5 | ||||
| -rw-r--r-- | usr.bin/w/w.c | 9 |
2 files changed, 9 insertions, 5 deletions
diff --git a/usr.bin/w/Makefile b/usr.bin/w/Makefile index c7296b004410..1f0af4e976c6 100644 --- a/usr.bin/w/Makefile +++ b/usr.bin/w/Makefile @@ -1,12 +1,13 @@ # @(#)Makefile 8.1 (Berkeley) 6/6/93 +# $FreeBSD$ PROG= w SRCS= fmt.c pr_time.c proc_compare.c w.c MAN1= w.1 uptime.1 DPADD= ${LIBKVM} LDADD= -lkvm -BINGRP= kmem -BINMODE=2555 +#BINGRP= kmem +#BINMODE=2555 LINKS= ${BINDIR}/w ${BINDIR}/uptime .PATH: ${.CURDIR}/../../bin/ps diff --git a/usr.bin/w/w.c b/usr.bin/w/w.c index 6441ee8f8966..d91aa8cb8a9b 100644 --- a/usr.bin/w/w.c +++ b/usr.bin/w/w.c @@ -134,7 +134,7 @@ main(argc, argv) struct stat *stp; FILE *ut; u_long l; - int ch, i, nentries, nusers, wcmd, longidle; + int ch, i, nentries, nusers, wcmd, longidle, dropgid; char *memf, *nlistf, *p, *x; char buf[MAXHOSTNAMELEN], errbuf[256]; @@ -149,7 +149,8 @@ main(argc, argv) p = "dhiflM:N:nsuw"; } - memf = nlistf = NULL; + dropgid = 0; + memf = nlistf = _PATH_DEVNULL; while ((ch = getopt(argc, argv, p)) != -1) switch (ch) { case 'd': @@ -164,9 +165,11 @@ main(argc, argv) case 'M': header = 0; memf = optarg; + dropgid = 1; break; case 'N': nlistf = optarg; + dropgid = 1; break; case 'n': nflag = 1; @@ -190,7 +193,7 @@ main(argc, argv) * Discard setgid privileges if not the running kernel so that bad * guys can't print interesting stuff from kernel memory. */ - if (nlistf != NULL || memf != NULL) + if (dropgid) setgid(getgid()); if ((kd = kvm_openfiles(nlistf, memf, NULL, O_RDONLY, errbuf)) == NULL) |
