diff options
-rw-r--r-- | Changelog | 6 | ||||
-rw-r--r-- | utility.c | 9 |
2 files changed, 10 insertions, 5 deletions
@@ -21,6 +21,7 @@ * Added tr from John Lombardo <john@deltanet.com> * Added echo and test (from me). * Added usleep contributed by Nicolas Pitre <nico@cam.org> + * BusyBox's bss size has been majorly reduced (was 384668, is now 28740). * Several fixes from Pavel Roskin <pavel_roskin@geocities.com>: - When `tail' fails to open a file it now exits. - When `syslogd' is given the `-n' option it should still use @@ -60,7 +61,10 @@ the common error handling saves a few bytes. Thanks to Bob Tinsley <bob@earthrise.demon.co.uk> for the patch. * Fix "+" parsing bug in date, from "Merle F. McClelland" <mfm@cts.com>. - * BusyBox's bss size has been majorly reduced (was 384668, is now 28740). + * Fix symlink following bug in chmod -R and friends. + * Now allows SYSV style 'chown foo:bar' in addition to 'chown foo.bar' + * Fixed a bug in the busybox globbing routine such that 'find /dir -name [i]' + no longer segfaults. -Erik Andersen @@ -1315,7 +1315,8 @@ extern pid_t* findPidByName( char* pidName) if (isspace(*(p))) *p='\0'; - if ((strstr(info.command_line, pidName) != NULL)) { + if ((strstr(info.command_line, pidName) != NULL) + && (strlen(pidName) == strlen(info.command_line))) { pidList=realloc( pidList, sizeof(pid_t) * (j+2)); if (pidList==NULL) fatalError("out of memory\n"); @@ -1362,7 +1363,7 @@ extern pid_t* findPidByName( char* pidName) FILE *status; char filename[256]; char buffer[256]; - char* p, *q; + char* p; /* If it isn't a number, we don't want it */ if (!isdigit(*next->d_name)) @@ -1387,8 +1388,8 @@ extern pid_t* findPidByName( char* pidName) } p=buffer+6; /* Skip the "Name:\t" */ - if (((q=strstr(p, pidName)) != NULL) - && (strncmp(q, pidName, strlen(pidName)) != 0)) { + if ((strstr(p, pidName) != NULL) + && (strlen(pidName) == strlen(p))) { pidList=realloc( pidList, sizeof(pid_t) * (i+2)); if (pidList==NULL) fatalError("out of memory\n"); |