Adam Hathcock
2168385f2e
fixes for release
2026-10-19 10:52:07 +01:00
Adam Hathcock
7642f76f38
changes fixes to use pooled arrays
2026-10-19 10:10:09 +01:00
Adam Hathcock
4966fc186b
Merge branch 'release' into fix/lzma2-truncated-header
...
# Conflicts:
# src/SharpCompress/Compressors/LZMA/LZ/LzOutWindow.cs
2026-10-19 09:59:33 +01:00
Adam Hathcock
2369f10b63
Grow LZMA dictionary storage only as decoded history requires
2026-10-16 15:39:56 +01:00
Adam Hathcock
8a9b76dd44
Grow Shrink output from decoded bytes and stop at input EOF
2026-10-16 15:35:27 +01:00
Adam Hathcock
0860da8bc5
Buffer ARC LZW input incrementally and reject truncated entries
2026-10-16 15:34:07 +01:00
Adam Hathcock
9b0be6f984
Skip ZIP64 extensible data without size-driven allocations
2026-10-16 15:33:10 +01:00
Adam Hathcock
bc1ade2bbc
Reject truncated LZMA2 headers and prevent stalled decoding
2026-10-16 15:23:57 +01:00
Adam Hathcock
cd9ce9ad94
Merge pull request #1443 from adamhathcock/fix/1441-sevenzip-libarchive-attributes
...
Fix 7z writer attribute interoperability with libarchive
2026-10-13 11:12:10 +01:00
Adam Hathcock
b91671dfc3
Release partially constructed 7z decoder streams on failure
2026-10-13 10:31:15 +01:00
Adam Hathcock
bdb42df4dc
Make raw LZMA setup and disposal exception-safe
2026-10-13 10:29:07 +01:00
Adam Hathcock
38e3222dc2
Release rewind buffers despite disposal failures and reject disposed reads
2026-10-13 10:26:09 +01:00
Adam Hathcock
b3fac7e04a
Release owned Squeeze buffers and failed PPMd models
2026-10-13 10:24:19 +01:00
Adam Hathcock
46437bbbbc
Return pooled memory stream blocks when construction fails
2026-10-13 10:21:45 +01:00
Adam Hathcock
b8f3a8695b
Validate LZMA2 setup before renting and reject disposed writes
2026-10-13 10:09:14 +01:00
Adam Hathcock
c574364838
Fix pooled buffer ownership and exception-safe cleanup
2026-10-13 09:57:19 +01:00
Adam Hathcock
cd3a18bce4
Add public 7z writer attribute regression coverage
2026-10-13 09:23:23 +01:00
Adam Hathcock
9c6cfe886a
Merge remote-tracking branch 'origin/release' into fix/1441-sevenzip-libarchive-attributes
2026-10-13 09:13:55 +01:00
Adam Hathcock
c7115ced3e
Merge pull request #1444 from adamhathcock/fix/1440-sevenzip-directory-only
...
Fix empty and directory-only 7z archive finalization
2026-10-13 09:12:04 +01:00
Adam Hathcock
dcd2515598
Merge remote-tracking branch 'origin/release' into fix/1439-sevenzip-password-exceptions
...
# Conflicts:
# docs/API.md
2026-10-12 17:10:32 +01:00
Adam Hathcock
a147a7bc29
Merge pull request #1442 from adamhathcock/fix/release-pr-1436-followups
...
pr 1436 followups
2026-10-12 17:05:28 +01:00
Adam Hathcock
68401dc86b
Fix formatting and span import in streamless 7z tests
2026-10-12 16:43:34 +01:00
Adam Hathcock
c9f69470ad
Refactor offset and size reading to use BinaryPrimitives
...
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
2026-10-12 16:08:45 +01:00
Adam Hathcock
69e1477ee6
Expose public exceptions for encrypted 7z decoding failures
2026-10-12 15:29:40 +01:00
Adam Hathcock
7d7983e0f4
Fix 7z encryption detection for streamless files
2026-10-12 15:29:40 +01:00
Adam Hathcock
9332fb9c70
Fix empty and directory-only 7z archive finalization
2026-10-12 15:28:49 +01:00
Adam Hathcock
cda73d09bd
Fix 7z attribute interoperability with libarchive
2026-10-12 15:27:44 +01:00
Adam Hathcock
eac609b35a
Report truncated encrypted RAR data as InvalidFormatException asynchronously
...
ReadExactAsync throws IncompleteArchiveException, so the async decrypt
path's EndOfStreamException catch never ran. On net48, EntryStream.Dispose
skips the entry through the async path, so its IncompleteArchiveException
replaced the InvalidFormatException from the synchronous read and failed
Rar_Multi_Reader_Encrypted. Sync and async now report truncated encrypted
data as InvalidFormatException.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-12 15:23:52 +01:00
Adam Hathcock
b07e6bc727
Validate fragmented GZip trailers asynchronously using inflater read-ahead
2026-10-10 15:40:39 +01:00
Adam Hathcock
b919aaab1f
Validate GZip CRC and size during asynchronous stream disposal
2026-10-10 15:40:39 +01:00
Adam Hathcock
953ce61564
Consume both GZip header CRC bytes and reject truncated fields
2026-10-10 15:40:38 +01:00
Adam Hathcock
f888179583
Preserve DEFLATE read-ahead bytes after one-byte output and EOF
2026-10-10 15:40:37 +01:00
Adam Hathcock
fed1d884c7
Do not treat zero-length checksum reads as end of entry
2026-10-10 15:40:37 +01:00
Adam Hathcock
06fea02e64
Resolve RAR companion volumes with unambiguous case-insensitive fallback
2026-10-10 15:40:36 +01:00
Adam Hathcock
13ed208a2b
Read ARJ headers and extended headers exactly
2026-10-10 15:40:36 +01:00
Adam Hathcock
2a68ec7257
Read ARC entry headers fully on fragmented streams
2026-10-10 15:40:35 +01:00
Adam Hathcock
b442327e5f
Allow partial reads in ACE signature detection
2026-10-10 15:40:35 +01:00
Adam Hathcock
d01539ae3c
Handle partial LZip headers and validate dictionary sizes consistently
2026-10-10 15:40:35 +01:00
Adam Hathcock
17f26064f9
Read ZIP AES encryption metadata exactly on fragmented streams
2026-10-10 15:40:34 +01:00
Adam Hathcock
7265047dd7
Verify WinZip AES authentication and reject truncated encrypted data
2026-10-10 15:40:34 +01:00
Adam Hathcock
9ba6d17b5d
Validate 7z AES KDF limits before unsalted key derivation
2026-10-10 15:40:33 +01:00
Adam Hathcock
ab3ac18e98
Fix release review findings in RAR, GZip, and split ZIP parsing
2026-10-10 08:22:55 +01:00
Adam Hathcock
3c6c76fd4e
Merge remote-tracking branch 'origin/rebuild/release-05-gzip-reader-archive' into rebuild/release-06-7z-header-bounds
2026-10-09 15:01:17 +01:00
Adam Hathcock
67a22cca97
Fix net48 test build: use plain using for AsyncOnlyStream in gzip reader/archive tests
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-09 14:59:45 +01:00
Adam Hathcock
6b54523cc6
Merge remote-tracking branch 'origin/release' into rebuild/release-06-7z-header-bounds
2026-10-09 14:51:41 +01:00
Adam Hathcock
f07d5e5d75
Merge remote-tracking branch 'origin/release' into rebuild/release-05-gzip-reader-archive
2026-10-09 14:51:14 +01:00
Adam Hathcock
830c816269
Fix net48 test build: use plain using for types without DisposeAsync
...
AsyncOnlyStream and EntryStream have no DisposeAsync on net48, so
await using fails to compile for that target.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-09 14:41:59 +01:00
Adam Hathcock
2f2730fd01
Validate 7z next header bounds before allocation
2026-10-09 11:56:36 +01:00
Vadim Syrov
5214c349d1
Fix gzip XLEN overflow in reader and archive APIs
2026-10-09 11:56:36 +01:00
Vadim Syrov
b047d6860a
Fix gzip FEXTRA XLEN overflow
2026-10-09 11:56:36 +01:00