Teach busybox ps to get the correct uid when displaying stuff
authorEric Andersen <andersen@codepoet.org>
Tue, 27 Jan 2004 20:17:39 +0000 (20:17 -0000)
committerEric Andersen <andersen@codepoet.org>
Tue, 27 Jan 2004 20:17:39 +0000 (20:17 -0000)
libbb/procps.c

index 252e9c7..46e9827 100644 (file)
@@ -54,6 +54,11 @@ extern procps_status_t * procps_scan(int save_user_arg0
                pid = atoi(name);
                curstatus.pid = pid;
 
+               sprintf(status, "/proc/%d", pid);
+               if(stat(status, &sb))
+                       continue;
+               my_getpwuid(curstatus.user, sb.st_uid);
+
                sprintf(status, "/proc/%d/stat", pid);
                if((fp = fopen(status, "r")) == NULL)
                        continue;
@@ -65,9 +70,6 @@ extern procps_status_t * procps_scan(int save_user_arg0
                }
                else
 #endif
-               if(fstat(fileno(fp), &sb))
-                       continue;
-               my_getpwuid(curstatus.user, sb.st_uid);
                name = fgets(buf, sizeof(buf), fp);
                fclose(fp);
                if(name == NULL)