From: Tim Kientzle Date: Wed, 6 May 2026 16:28:05 +0000 (-0700) Subject: Merge branch 'master' into archive-read-sticky-fatal X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=330148b1be16518a42647f2eb0a82a3c6d09deb7;p=thirdparty%2Flibarchive.git Merge branch 'master' into archive-read-sticky-fatal --- 330148b1be16518a42647f2eb0a82a3c6d09deb7 diff --cc Makefile.am index d6bc0f435,b9ad04242..8df664240 --- a/Makefile.am +++ b/Makefile.am @@@ -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 \ diff --cc libarchive/archive_read_support_format_7zip.c index b922fb7fe,ccb996784..517f60b60 --- a/libarchive/archive_read_support_format_7zip.c +++ b/libarchive/archive_read_support_format_7zip.c @@@ -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]); diff --cc libarchive/test/CMakeLists.txt index 1ff16b9d8,2ed691208..617b6ace3 --- a/libarchive/test/CMakeLists.txt +++ b/libarchive/test/CMakeLists.txt @@@ -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