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
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=287590
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
MAN= w.1 uptime.1
LIBADD= kvm sbuf xo util
#BINGRP= kmem
#BINMODE=2555
LINKS= ${BINDIR}/w ${BINDIR}/uptime
.PATH: ${.CURDIR}/../../bin/ps

View file

@ -135,7 +135,7 @@ main(int argc, char *argv[])
struct kinfo_proc *dkp;
struct stat *stp;
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;
char *x_suffix;
char buf[MAXHOSTNAMELEN], errbuf[_POSIX2_LINE_MAX];
@ -159,7 +159,6 @@ main(int argc, char *argv[])
p = "dhiflM:N:nsuw";
}
dropgid = 0;
memf = _PATH_DEVNULL;
nlistf = NULL;
while ((ch = getopt(argc, argv, p)) != -1)
@ -176,11 +175,9 @@ main(int argc, char *argv[])
case 'M':
header = 0;
memf = optarg;
dropgid = 1;
break;
case 'N':
nlistf = optarg;
dropgid = 1;
break;
case 'n':
nflag = 1;
@ -200,13 +197,6 @@ main(int argc, char *argv[])
_res.retrans = 2; /* resolver timeout to 2 seconds per try */
_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)
errx(1, "%s", errbuf);