aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatt Kraai <kraai@debian.org>2001-04-18 15:51:45 +0000
committerMatt Kraai <kraai@debian.org>2001-04-18 15:51:45 +0000
commit54652230d4f22f17a00a96493721c0688c838cd0 (patch)
tree5f2c270b682b9ca23b02cf41ae0a3d9dec1cf33f
parentb181056e06974e72f210189bf758d76dc2ecdde6 (diff)
downloadbusybox-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.c4
-rw-r--r--gunzip.c4
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");
diff --git a/gunzip.c b/gunzip.c
index c3960e953..65f435651 100644
--- a/gunzip.c
+++ b/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");