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-54652230d4f22f17a00a96493721c0688c838cd0.tar.gz |
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) delete_old_file = TRUE; extension = strrchr(if_name, '.'); - if (strcmp(extension, ".gz") == 0) { + if (extension && strcmp(extension, ".gz") == 0) { length -= 3; - } else if (strcmp(extension, ".tgz") == 0) { + } else if (extension && strcmp(extension, ".tgz") == 0) { length -= 4; } else { error_msg_and_die("Invalid extension"); @@ -158,9 +158,9 @@ extern int gunzip_main(int argc, char **argv) delete_old_file = TRUE; extension = strrchr(if_name, '.'); - if (strcmp(extension, ".gz") == 0) { + if (extension && strcmp(extension, ".gz") == 0) { length -= 3; - } else if (strcmp(extension, ".tgz") == 0) { + } else if (extension && strcmp(extension, ".tgz") == 0) { length -= 4; } else { error_msg_and_die("Invalid extension"); |