]> git.ipfire.org Git - thirdparty/libarchive.git/commitdiff
Merge branch 'master' into archive-read-sticky-fatal
authorTim Kientzle <kientzle@acm.org>
Wed, 6 May 2026 16:28:05 +0000 (09:28 -0700)
committerGitHub <noreply@github.com>
Wed, 6 May 2026 16:28:05 +0000 (09:28 -0700)
1  2 
Makefile.am
libarchive/archive_read_support_format_7zip.c
libarchive/archive_read_support_format_rar5.c
libarchive/test/CMakeLists.txt

diff --cc Makefile.am
index d6bc0f435d9cba5f08e45f1f7f1a46d2a302e0c7,b9ad042428d8e05942c4acbc7e797d500bff340f..8df6642401d88e6c4ff3b59365f4d1869e93f137
@@@ -542,8 -543,7 +543,9 @@@ libarchive_test_SOURCES= 
        libarchive/test/test_read_format_rar_invalid1.c \
        libarchive/test/test_read_format_rar_overflow.c \
        libarchive/test/test_read_format_rar5.c \
 +      libarchive/test/test_read_format_rar5_bad_filter.c \
+       libarchive/test/test_read_format_rar5_bad_tables.c \
 +      libarchive/test/test_read_format_rar5_block_hdr_fail_loop.c \
        libarchive/test/test_read_format_rar5_loop_bug.c \
        libarchive/test/test_read_format_raw.c \
        libarchive/test/test_read_format_tar.c \
index b922fb7fe5fe3364d6efb78b5c5e5eb27266cbfd,ccb99678468ef400811681d2ef6c2e76b2f6104a..517f60b603b67f63b41b3c6815a20b8a956f8281
@@@ -3824,8 -3807,16 +3818,16 @@@ setup_decode_folder(struct archive_rea
                    ARCHIVE_ERRNO_MISC,
                    "The %s is encoded with many filters, "
                    "but currently not supported", cname);
 -              return (ARCHIVE_FATAL);
 +              return (header ? ARCHIVE_FATAL : ARCHIVE_FAILED);
        }
+       /*
+        * Initialize a stream reader.
+        */
+       zip->pack_stream_remaining = (unsigned)folder->numPackedStreams;
+       zip->pack_stream_index = (unsigned)folder->packIndex;
+       zip->folder_outbytes_remaining = folder_uncompressed_size(folder);
+       zip->uncompressed_buffer_bytes_remaining = 0;
        coder1 = &(folder->coders[0]);
        if (folder->numCoders == 2)
                coder2 = &(folder->coders[1]);
index 1ff16b9d86d131916612f3f2850f6548f7157913,2ed6912089596c7688cdebd0f5ffc356f57d7e3a..617b6ace374779a848dec8c29297d7b1036bd3e7
@@@ -176,8 -177,7 +177,9 @@@ IF(ENABLE_TEST
      test_read_format_rar_filter.c
      test_read_format_rar_overflow.c
      test_read_format_rar5.c
 +    test_read_format_rar5_bad_filter.c
+     test_read_format_rar5_bad_tables.c
 +    test_read_format_rar5_block_hdr_fail_loop.c
      test_read_format_rar5_loop_bug.c
      test_read_format_raw.c
      test_read_format_tar.c