]> git.ipfire.org Git - thirdparty/libarchive.git/commit
7zip: propagate skip_stream's actual error code in read_data_skip
authorTim Kientzle <kientzle@acm.org>
Mon, 4 May 2026 03:42:22 +0000 (20:42 -0700)
committerTim Kientzle <kientzle@acm.org>
Tue, 5 May 2026 20:39:27 +0000 (13:39 -0700)
commit24c7124407b5e6df9bff1bf95ce30bb7e72bbc0a
tree226a8572f702f2d73daa14ab742c39a2aa83be75
parent2bb18c06702948ac4aad8a8a1bdcaeec303088bd
7zip: propagate skip_stream's actual error code in read_data_skip

archive_read_format_7zip_read_data_skip used to coerce any negative
skip_stream() return into ARCHIVE_FATAL.  That is wrong in principle:
ARCHIVE_FAILED can legitimately propagate up from setup_decode_folder()
through read_stream() and skip_stream(), and the wrapper should not
upgrade it.

In the current encryption-partially test case this is empirically a
no-op because skip_stream() still returns ARCHIVE_FATAL via a second,
deeper code path through extract_pack_stream().  An inline TODO comment
flags that asymmetry for a follow-up audit.
libarchive/archive_read_support_format_7zip.c