diff options
author | erik <erik@69ca8d6d-28ef-0310-b511-8ec308f3f277> | 2000-04-18 22:41:30 +0000 |
---|---|---|
committer | erik <erik@69ca8d6d-28ef-0310-b511-8ec308f3f277> | 2000-04-18 22:41:30 +0000 |
commit | 65cc2be726f9430710be310d278232efa26e0f3f (patch) | |
tree | 2db48e0c162a1fab3bd00fd2c314d6e9e2d8c007 /utility.c | |
parent | 7b2831108d762a87860a91c87959a3d04b1c3ed6 (diff) | |
download | busybox-w32-65cc2be726f9430710be310d278232efa26e0f3f.tar.gz busybox-w32-65cc2be726f9430710be310d278232efa26e0f3f.tar.bz2 busybox-w32-65cc2be726f9430710be310d278232efa26e0f3f.zip |
Really fix the killall segfault this time.
-Erik
git-svn-id: svn://busybox.net/trunk/busybox@479 69ca8d6d-28ef-0310-b511-8ec308f3f277
Diffstat (limited to '')
-rw-r--r-- | utility.c | 9 |
1 files changed, 5 insertions, 4 deletions
@@ -1315,7 +1315,8 @@ extern pid_t* findPidByName( char* pidName) | |||
1315 | if (isspace(*(p))) | 1315 | if (isspace(*(p))) |
1316 | *p='\0'; | 1316 | *p='\0'; |
1317 | 1317 | ||
1318 | if ((strstr(info.command_line, pidName) != NULL)) { | 1318 | if ((strstr(info.command_line, pidName) != NULL) |
1319 | && (strlen(pidName) == strlen(info.command_line))) { | ||
1319 | pidList=realloc( pidList, sizeof(pid_t) * (j+2)); | 1320 | pidList=realloc( pidList, sizeof(pid_t) * (j+2)); |
1320 | if (pidList==NULL) | 1321 | if (pidList==NULL) |
1321 | fatalError("out of memory\n"); | 1322 | fatalError("out of memory\n"); |
@@ -1362,7 +1363,7 @@ extern pid_t* findPidByName( char* pidName) | |||
1362 | FILE *status; | 1363 | FILE *status; |
1363 | char filename[256]; | 1364 | char filename[256]; |
1364 | char buffer[256]; | 1365 | char buffer[256]; |
1365 | char* p, *q; | 1366 | char* p; |
1366 | 1367 | ||
1367 | /* If it isn't a number, we don't want it */ | 1368 | /* If it isn't a number, we don't want it */ |
1368 | if (!isdigit(*next->d_name)) | 1369 | if (!isdigit(*next->d_name)) |
@@ -1387,8 +1388,8 @@ extern pid_t* findPidByName( char* pidName) | |||
1387 | } | 1388 | } |
1388 | p=buffer+6; /* Skip the "Name:\t" */ | 1389 | p=buffer+6; /* Skip the "Name:\t" */ |
1389 | 1390 | ||
1390 | if (((q=strstr(p, pidName)) != NULL) | 1391 | if ((strstr(p, pidName) != NULL) |
1391 | && (strncmp(q, pidName, strlen(pidName)) != 0)) { | 1392 | && (strlen(pidName) == strlen(p))) { |
1392 | pidList=realloc( pidList, sizeof(pid_t) * (i+2)); | 1393 | pidList=realloc( pidList, sizeof(pid_t) * (i+2)); |
1393 | if (pidList==NULL) | 1394 | if (pidList==NULL) |
1394 | fatalError("out of memory\n"); | 1395 | fatalError("out of memory\n"); |