diff options
author | kraai <kraai@69ca8d6d-28ef-0310-b511-8ec308f3f277> | 2001-04-19 14:56:23 +0000 |
---|---|---|
committer | kraai <kraai@69ca8d6d-28ef-0310-b511-8ec308f3f277> | 2001-04-19 14:56:23 +0000 |
commit | 5fb749a0320175f2cf7d1558908a448dea640f51 (patch) | |
tree | b1a5c48ecb4135a1ada29cead4b92058e51e55e2 | |
parent | 025fb87593d1c0f0a5bf449793b276cbd49ea4ec (diff) | |
download | busybox-w32-5fb749a0320175f2cf7d1558908a448dea640f51.tar.gz busybox-w32-5fb749a0320175f2cf7d1558908a448dea640f51.tar.bz2 busybox-w32-5fb749a0320175f2cf7d1558908a448dea640f51.zip |
Fix buffer underrun noted and solved by Larry Doolittle.
git-svn-id: svn://busybox.net/trunk/busybox@2376 69ca8d6d-28ef-0310-b511-8ec308f3f277
-rw-r--r-- | coreutils/dirname.c | 2 | ||||
-rw-r--r-- | dirname.c | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/coreutils/dirname.c b/coreutils/dirname.c index 8313e99c6..935a8313c 100644 --- a/coreutils/dirname.c +++ b/coreutils/dirname.c | |||
@@ -37,7 +37,7 @@ extern int dirname_main(int argc, char **argv) | |||
37 | argv++; | 37 | argv++; |
38 | 38 | ||
39 | s=*argv+strlen(*argv)-1; | 39 | s=*argv+strlen(*argv)-1; |
40 | while (s != *argv && *s == '/') { | 40 | while (s > *argv && *s == '/') { |
41 | *s-- = '\0'; | 41 | *s-- = '\0'; |
42 | } | 42 | } |
43 | s = strrchr(*argv, '/'); | 43 | s = strrchr(*argv, '/'); |
@@ -37,7 +37,7 @@ extern int dirname_main(int argc, char **argv) | |||
37 | argv++; | 37 | argv++; |
38 | 38 | ||
39 | s=*argv+strlen(*argv)-1; | 39 | s=*argv+strlen(*argv)-1; |
40 | while (s != *argv && *s == '/') { | 40 | while (s > *argv && *s == '/') { |
41 | *s-- = '\0'; | 41 | *s-- = '\0'; |
42 | } | 42 | } |
43 | s = strrchr(*argv, '/'); | 43 | s = strrchr(*argv, '/'); |