diff options
author | Matt Kraai <kraai@debian.org> | 2001-04-18 15:51:45 +0000 |
---|---|---|
committer | Matt Kraai <kraai@debian.org> | 2001-04-18 15:51:45 +0000 |
commit | 54652230d4f22f17a00a96493721c0688c838cd0 (patch) | |
tree | 5f2c270b682b9ca23b02cf41ae0a3d9dec1cf33f | |
parent | b181056e06974e72f210189bf758d76dc2ecdde6 (diff) | |
download | busybox-w32-54652230d4f22f17a00a96493721c0688c838cd0.tar.gz busybox-w32-54652230d4f22f17a00a96493721c0688c838cd0.tar.bz2 busybox-w32-54652230d4f22f17a00a96493721c0688c838cd0.zip |
Eliminate a segfault when called on an existing file with out an extension:
touch foo && gunzip foo
-rw-r--r-- | archival/gunzip.c | 4 | ||||
-rw-r--r-- | gunzip.c | 4 |
2 files changed, 4 insertions, 4 deletions
diff --git a/archival/gunzip.c b/archival/gunzip.c index c3960e953..65f435651 100644 --- a/archival/gunzip.c +++ b/archival/gunzip.c | |||
@@ -158,9 +158,9 @@ extern int gunzip_main(int argc, char **argv) | |||
158 | 158 | ||
159 | delete_old_file = TRUE; | 159 | delete_old_file = TRUE; |
160 | extension = strrchr(if_name, '.'); | 160 | extension = strrchr(if_name, '.'); |
161 | if (strcmp(extension, ".gz") == 0) { | 161 | if (extension && strcmp(extension, ".gz") == 0) { |
162 | length -= 3; | 162 | length -= 3; |
163 | } else if (strcmp(extension, ".tgz") == 0) { | 163 | } else if (extension && strcmp(extension, ".tgz") == 0) { |
164 | length -= 4; | 164 | length -= 4; |
165 | } else { | 165 | } else { |
166 | error_msg_and_die("Invalid extension"); | 166 | error_msg_and_die("Invalid extension"); |
@@ -158,9 +158,9 @@ extern int gunzip_main(int argc, char **argv) | |||
158 | 158 | ||
159 | delete_old_file = TRUE; | 159 | delete_old_file = TRUE; |
160 | extension = strrchr(if_name, '.'); | 160 | extension = strrchr(if_name, '.'); |
161 | if (strcmp(extension, ".gz") == 0) { | 161 | if (extension && strcmp(extension, ".gz") == 0) { |
162 | length -= 3; | 162 | length -= 3; |
163 | } else if (strcmp(extension, ".tgz") == 0) { | 163 | } else if (extension && strcmp(extension, ".tgz") == 0) { |
164 | length -= 4; | 164 | length -= 4; |
165 | } else { | 165 | } else { |
166 | error_msg_and_die("Invalid extension"); | 166 | error_msg_and_die("Invalid extension"); |