=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/vmstat/dkstats.c,v retrieving revision 1.25 retrieving revision 1.26 diff -c -r1.25 -r1.26 *** src/usr.bin/vmstat/dkstats.c 2004/04/22 22:28:37 1.25 --- src/usr.bin/vmstat/dkstats.c 2005/07/04 01:54:10 1.26 *************** *** 1,4 **** ! /* $OpenBSD: dkstats.c,v 1.25 2004/04/22 22:28:37 millert Exp $ */ /* $NetBSD: dkstats.c,v 1.1 1996/05/10 23:19:27 thorpej Exp $ */ /* --- 1,4 ---- ! /* $OpenBSD: dkstats.c,v 1.26 2005/07/04 01:54:10 djm Exp $ */ /* $NetBSD: dkstats.c,v 1.1 1996/05/10 23:19:27 thorpej Exp $ */ /* *************** *** 409,424 **** size_t size; struct clockinfo clkinfo; char *disknames, *name, *bufpp; if (once) return(1); if (nlistf != NULL || memf != NULL) { #if !defined(NOKVM) ! if (memf != NULL) { ! setegid(getgid()); ! setgid(getgid()); ! } /* Open the kernel. */ if (kd == NULL && --- 409,425 ---- size_t size; struct clockinfo clkinfo; char *disknames, *name, *bufpp; + gid_t gid; if (once) return(1); + gid = getgid(); if (nlistf != NULL || memf != NULL) { #if !defined(NOKVM) ! if (memf != NULL) ! if (setresgid(gid, gid, gid) == -1) ! err(1, "setresgid"); /* Open the kernel. */ if (kd == NULL && *************** *** 426,433 **** errbuf)) == NULL) errx(1, "kvm_openfiles: %s", errbuf); ! setegid(getgid()); ! setgid(getgid()); /* Obtain the namelist symbols from the kernel. */ if (kvm_nlist(kd, namelist)) --- 427,435 ---- errbuf)) == NULL) errx(1, "kvm_openfiles: %s", errbuf); ! if (memf == NULL) ! if (setresgid(gid, gid, gid) == -1) ! err(1, "setresgid"); /* Obtain the namelist symbols from the kernel. */ if (kvm_nlist(kd, namelist))