aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGlenn L McGrath <bug1@ihug.co.nz>2002-11-25 22:31:37 +0000
committerGlenn L McGrath <bug1@ihug.co.nz>2002-11-25 22:31:37 +0000
commit393ad1a834071c441abc5ab55bd3651f1903a842 (patch)
treef2bdc488db3fd9adb8001c80d2d51e769f9b0c78
parentbb2e9d47f3c7c8172836b589292612e5f155f054 (diff)
downloadbusybox-w32-393ad1a834071c441abc5ab55bd3651f1903a842.tar.gz
busybox-w32-393ad1a834071c441abc5ab55bd3651f1903a842.tar.bz2
busybox-w32-393ad1a834071c441abc5ab55bd3651f1903a842.zip
Handle name entries that have a \0 in them, last_patch_65 from Vladimir N. Oleynik
-rw-r--r--libbb/procps.c15
1 files changed, 11 insertions, 4 deletions
diff --git a/libbb/procps.c b/libbb/procps.c
index eea6aa681..e76e1ac36 100644
--- a/libbb/procps.c
+++ b/libbb/procps.c
@@ -110,10 +110,17 @@ extern procps_status_t * procps_scan(int save_user_arg0)
110 if(save_user_arg0) { 110 if(save_user_arg0) {
111 if((fp = fopen(status, "r")) == NULL) 111 if((fp = fopen(status, "r")) == NULL)
112 continue; 112 continue;
113 if(fgets(buf, sizeof(buf), fp) != NULL) { 113 if((n=fread(buf, 1, sizeof(buf)-1, fp)) > 0) {
114 name = strchr(buf, '\n'); 114 if(buf[n-1]=='\n')
115 if(name != NULL) 115 buf[--n] = 0;
116 *name = 0; 116 name = buf;
117 while(n) {
118 if(*name < ' ')
119 *name = ' ';
120 name++;
121 n--;
122 }
123 *name = 0;
117 if(buf[0]) 124 if(buf[0])
118 curstatus.cmd = strdup(buf); 125 curstatus.cmd = strdup(buf);
119 /* if NULL it work true also */ 126 /* if NULL it work true also */