From: Michihiro NAKAJIMA Date: Sun, 6 Sep 2009 01:36:23 +0000 (-0400) Subject: Fix my silly bug; I didn't consider that a uncompressed file X-Git-Tag: v2.8.0~382 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=73f88f106795e5f7b373606abcbe1d3f91bc2a24;p=thirdparty%2Flibarchive.git Fix my silly bug; I didn't consider that a uncompressed file size was just 1 << log2_bs. SVN-Revision: 1426 --- diff --git a/libarchive/archive_read_support_format_iso9660.c b/libarchive/archive_read_support_format_iso9660.c index 57f51793e..287e15d82 100644 --- a/libarchive/archive_read_support_format_iso9660.c +++ b/libarchive/archive_read_support_format_iso9660.c @@ -763,8 +763,10 @@ zisofs_read_data(struct archive_read *a, size_t ceil, xsize; /* Allocate block pointers buffer. */ - ceil = zisofs->pz_uncompressed_size >> zisofs->pz_log2_bs; - xsize = (ceil + 1 + 1) * 4; + ceil = (zisofs->pz_uncompressed_size + + (1UL << zisofs->pz_log2_bs) - 1) + >> zisofs->pz_log2_bs; + xsize = (ceil + 1) * 4; if (zisofs->block_pointers_alloc < xsize) { size_t alloc;