Eliminate a segfault when called on an existing file with out an extension:
touch foo && gunzip foo
diff --git a/archival/gunzip.c b/archival/gunzip.c
index c3960e9..65f4356 100644
--- a/archival/gunzip.c
+++ b/archival/gunzip.c
@@ -158,9 +158,9 @@
 
 		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");