From: Michihiro NAKAJIMA Date: Thu, 9 Feb 2012 01:32:08 +0000 (+0900) Subject: If a zip archive file is corruped, the compression type can be negative and X-Git-Tag: v3.0.4~2^2~99 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1ec54f09164cee64539c5412e707bf2a04970d85;p=thirdparty%2Flibarchive.git If a zip archive file is corruped, the compression type can be negative and it can cause a segfault. --- diff --git a/libarchive/archive_read_support_format_zip.c b/libarchive/archive_read_support_format_zip.c index d5deab8d7..d8c1ebc72 100644 --- a/libarchive/archive_read_support_format_zip.c +++ b/libarchive/archive_read_support_format_zip.c @@ -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