]> 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:42:08 +0000 (10:42 +0900)
it can cause a segfault.

libarchive/archive_read_support_format_zip.c

index 02587e6416280105a4aa61d984da187719c9d889..fce04b8a2cc1557731ef4e68bfdb5af2a1c55177 100644 (file)
@@ -719,7 +719,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