w(1) is not setgid binary since r53279, so remove the setgid() call.

Reviewed By:	wollman
MFC after:	2 weeks
Differential Revision: https://reviews.freebsd.org/D3541
This commit is contained in:
Xin LI 2015-09-09 05:17:04 +00:00
parent dbaeb0610b
commit ab9cee11d6
2 changed files with 1 additions and 13 deletions

View File

@ -5,8 +5,6 @@ PROG= w
SRCS= fmt.c pr_time.c proc_compare.c w.c SRCS= fmt.c pr_time.c proc_compare.c w.c
MAN= w.1 uptime.1 MAN= w.1 uptime.1
LIBADD= kvm sbuf xo util LIBADD= kvm sbuf xo util
#BINGRP= kmem
#BINMODE=2555
LINKS= ${BINDIR}/w ${BINDIR}/uptime LINKS= ${BINDIR}/w ${BINDIR}/uptime
.PATH: ${.CURDIR}/../../bin/ps .PATH: ${.CURDIR}/../../bin/ps

View File

@ -135,7 +135,7 @@ main(int argc, char *argv[])
struct kinfo_proc *dkp; struct kinfo_proc *dkp;
struct stat *stp; struct stat *stp;
time_t touched; time_t touched;
int ch, i, nentries, nusers, wcmd, longidle, longattime, dropgid; int ch, i, nentries, nusers, wcmd, longidle, longattime;
const char *memf, *nlistf, *p, *save_p; const char *memf, *nlistf, *p, *save_p;
char *x_suffix; char *x_suffix;
char buf[MAXHOSTNAMELEN], errbuf[_POSIX2_LINE_MAX]; char buf[MAXHOSTNAMELEN], errbuf[_POSIX2_LINE_MAX];
@ -159,7 +159,6 @@ main(int argc, char *argv[])
p = "dhiflM:N:nsuw"; p = "dhiflM:N:nsuw";
} }
dropgid = 0;
memf = _PATH_DEVNULL; memf = _PATH_DEVNULL;
nlistf = NULL; nlistf = NULL;
while ((ch = getopt(argc, argv, p)) != -1) while ((ch = getopt(argc, argv, p)) != -1)
@ -176,11 +175,9 @@ main(int argc, char *argv[])
case 'M': case 'M':
header = 0; header = 0;
memf = optarg; memf = optarg;
dropgid = 1;
break; break;
case 'N': case 'N':
nlistf = optarg; nlistf = optarg;
dropgid = 1;
break; break;
case 'n': case 'n':
nflag = 1; nflag = 1;
@ -200,13 +197,6 @@ main(int argc, char *argv[])
_res.retrans = 2; /* resolver timeout to 2 seconds per try */ _res.retrans = 2; /* resolver timeout to 2 seconds per try */
_res.retry = 1; /* only try once.. */ _res.retry = 1; /* only try once.. */
/*
* Discard setgid privileges if not the running kernel so that bad
* guys can't print interesting stuff from kernel memory.
*/
if (dropgid)
setgid(getgid());
if ((kd = kvm_openfiles(nlistf, memf, NULL, O_RDONLY, errbuf)) == NULL) if ((kd = kvm_openfiles(nlistf, memf, NULL, O_RDONLY, errbuf)) == NULL)
errx(1, "%s", errbuf); errx(1, "%s", errbuf);