[BACK]Return to fstat.c CVS log [TXT][DIR] Up to [local] / src / usr.bin / fstat

Diff for /src/usr.bin/fstat/fstat.c between version 1.51 and 1.52

version 1.51, 2005/05/26 05:15:56 version 1.52, 2005/07/04 01:54:09
Line 174 
Line 174 
         char *memf, *nlistf;          char *memf, *nlistf;
         char buf[_POSIX2_LINE_MAX];          char buf[_POSIX2_LINE_MAX];
         int cnt;          int cnt;
           gid_t gid;
   
         arg = 0;          arg = 0;
         what = KERN_PROC_ALL;          what = KERN_PROC_ALL;
Line 225 
Line 226 
          * Discard setgid privileges if not the running kernel so that bad           * Discard setgid privileges if not the running kernel so that bad
          * guys can't print interesting stuff from kernel memory.           * guys can't print interesting stuff from kernel memory.
          */           */
         if (nlistf != NULL || memf != NULL) {          gid = getgid();
                 setegid(getgid());          if (nlistf != NULL || memf != NULL)
                 setgid(getgid());                  if (setresgid(gid, gid, gid) == -1)
         }                          err(1, "setresgid");
   
         if ((kd = kvm_openfiles(nlistf, memf, NULL, O_RDONLY, buf)) == NULL)          if ((kd = kvm_openfiles(nlistf, memf, NULL, O_RDONLY, buf)) == NULL)
                 errx(1, "%s", buf);                  errx(1, "%s", buf);
   
         setegid(getgid());          if (nlistf == NULL && memf == NULL)
         setgid(getgid());                  if (setresgid(gid, gid, gid) == -1)
                           err(1, "setresgid");
   
         if (*(argv += optind)) {          if (*(argv += optind)) {
                 for (; *argv; ++argv) {                  for (; *argv; ++argv) {

Legend:
Removed from v.1.51  
changed lines
  Added in v.1.52