]> git.ipfire.org Git - thirdparty/libarchive.git/commitdiff
read 64bit instead of 32bit integer in fallback code in archive_read_support_format_z...
authorSpacefish <timo.witte@gmail.com>
Sun, 31 Mar 2024 19:26:09 +0000 (21:26 +0200)
committerGitHub <noreply@github.com>
Sun, 31 Mar 2024 19:26:09 +0000 (12:26 -0700)
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

index 6722b051582571f1cee9cca32c7747792a8d1a9a..212bfff9fa7b625aff6a99059dcde3dfa6cd5b2c 100644 (file)
@@ -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.