]> git.ipfire.org Git - thirdparty/libarchive.git/commitdiff
If a zip archive file is corruped, the compression type can be negative and
authorMichihiro NAKAJIMA <ggcueroad@gmail.com>
Thu, 9 Feb 2012 01:32:08 +0000 (10:32 +0900)
committerMichihiro NAKAJIMA <ggcueroad@gmail.com>
Thu, 9 Feb 2012 01:32:08 +0000 (10:32 +0900)
it can cause a segfault.

libarchive/archive_read_support_format_zip.c

index d5deab8d73abacb7bb82b0d94cebf4659b7ecb85..d8c1ebc7275824f8131b3ca831400e6a2c0edc95 100644 (file)
@@ -787,7 +787,7 @@ compression_name(int compression)
                "deflation"
        };
 
-       if (compression <
+       if (0 <= compression && compression <
            (int)(sizeof(compression_names)/sizeof(compression_names[0])))
                return compression_names[compression];
        else