From ad5a0b542c027883d7069f6844045e6788c7d70c Mon Sep 17 00:00:00 2001 From: Spacefish Date: Sun, 31 Mar 2024 21:26:09 +0200 Subject: [PATCH] read 64bit instead of 32bit integer in fallback code in archive_read_support_format_zip.c (#2104) Ancillary issue discovered while auditing some old PRs. A 64-bit size value was being read as a 32-bit value. --- libarchive/archive_read_support_format_zip.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libarchive/archive_read_support_format_zip.c b/libarchive/archive_read_support_format_zip.c index 6722b0515..212bfff9f 100644 --- a/libarchive/archive_read_support_format_zip.c +++ b/libarchive/archive_read_support_format_zip.c @@ -1561,7 +1561,7 @@ consume_end_of_file_marker(struct archive_read *a, struct zip *zip) compressed32 = archive_le32dec(p); uncompressed32 = archive_le32dec(p + 4); compressed64 = archive_le64dec(p); - uncompressed64 = archive_le32dec(p + 8); + uncompressed64 = archive_le64dec(p + 8); /* The earlier patterns may have failed because of CRC32 * mismatch, so it's still possible that both sizes match. -- 2.47.2