1428 Commits

Author SHA1 Message Date
Adam Hathcock
7de1f07597 revert change that made no sense 2026-05-05 17:58:36 +01:00
Adam Hathcock
5f16216a3f review and test fixes 2026-05-05 17:48:39 +01:00
Adam Hathcock
2c35d2d242 made methods extension methods for IEntry 2026-05-05 17:30:02 +01:00
Adam Hathcock
bd0fa73cce some refactoring 2026-05-05 17:22:53 +01:00
Adam Hathcock
8d6f1014f0 consolidate path comparsion 2026-05-05 17:02:28 +01:00
Adam Hathcock
3b29de3954 test clean up and formatting 2026-05-05 16:57:15 +01:00
Adam Hathcock
2021a06626 add zipslip tests and fixes 2026-05-05 16:52:16 +01:00
Adam Hathcock
c629dc5903 format Unpack 2026-04-28 11:03:08 +01:00
Adam Hathcock
4f41b6f793 review fix 2026-04-28 10:28:50 +01:00
Adam Hathcock
9156a75c56 pool arrays 2026-04-28 10:26:18 +01:00
Adam Hathcock
2c0a15e0f0 make async and sync the same 2026-04-28 09:39:23 +01:00
Adam Hathcock
0352740ea1 more async tests 2026-04-28 09:14:31 +01:00
Adam Hathcock
18fade571e made Char be a method to match async method 2026-04-28 08:39:54 +01:00
Adam Hathcock
896dfd6537 some AI changes 2026-04-28 08:32:44 +01:00
copilot-swe-agent[bot]
2d4d9c285a Fix sync methods called in async RAR unpacker paths (Unpack29Async, Unpack5Async)
Agent-Logs-Url: https://github.com/adamhathcock/sharpcompress/sessions/7f2fcb59-4a41-4b27-ab32-17afec510b5e

Co-authored-by: adamhathcock <527620+adamhathcock@users.noreply.github.com>
2026-04-28 08:17:23 +01:00
Copilot
20932b81b5 Fix SevenZipArchive.IsSolidAsync() always returning false (#1284)
* Initial plan

* Fix IsSolidAsync() returning false for 7z solid archives

SevenZipArchive was missing an override for IsSolidAsync(), so the
base class default (always returning false) was used. Added an override
that uses the same logic as the sync IsSolid property: load entries
asynchronously and check if any folder has more than one file.

Also updated existing async tests to use IsSolidAsync() instead of
casting to SevenZipArchive to call the sync IsSolid, and added a new
SevenZipArchive_TestSolidDetectionAsync test that mirrors the existing
sync SevenZipArchive_TestSolidDetection test.

Agent-Logs-Url: https://github.com/adamhathcock/sharpcompress/sessions/60f8daec-e784-4845-a65c-5a493fbb53ef

Co-authored-by: adamhathcock <527620+adamhathcock@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: adamhathcock <527620+adamhathcock@users.noreply.github.com>
2026-04-13 16:59:23 +01:00
Adam Hathcock
5758b08236 Merge pull request #1272 from adamhathcock/copilot/fix-decompression-bomb-and-crash-bugs
Fix fuzzer-found decompression bomb and crash bugs
2026-04-03 13:05:55 +01:00
copilot-swe-agent[bot]
01fee28759 ShrinkStream: add uncompressedSize bounds check, remove unused CreateAsync params
Agent-Logs-Url: https://github.com/adamhathcock/sharpcompress/sessions/9ed10d73-ebf8-45d3-8d25-d5aa1f4989e7

Co-authored-by: adamhathcock <527620+adamhathcock@users.noreply.github.com>
2026-04-03 11:49:45 +00:00
Adam Hathcock
bd0d1cfba8 remove more extra stuff 2026-04-03 12:47:04 +01:00
copilot-swe-agent[bot]
9ce6ec8d6f Dynamic ring buffer sizing for BZip2 and ZStandard on non-seekable streams
Agent-Logs-Url: https://github.com/adamhathcock/sharpcompress/sessions/b115976a-5d8a-412e-a462-72b4531f2d0a

Co-authored-by: adamhathcock <527620+adamhathcock@users.noreply.github.com>
2026-04-02 11:01:08 +00:00
copilot-swe-agent[bot]
669fbed62b Dynamic ring buffer sizing for BZip2 and ZStandard on non-seekable streams
Agent-Logs-Url: https://github.com/adamhathcock/sharpcompress/sessions/b115976a-5d8a-412e-a462-72b4531f2d0a

Co-authored-by: adamhathcock <527620+adamhathcock@users.noreply.github.com>
2026-04-02 10:56:50 +00:00
Adam Hathcock
16903bdecb clean up shrink stream to ensure correctness 2026-04-02 11:48:01 +01:00
copilot-swe-agent[bot]
58bec11b2c Fix decompression bomb and crash bugs (fuzzer-found)
Agent-Logs-Url: https://github.com/adamhathcock/sharpcompress/sessions/84b02876-db79-41ed-875b-f1c7dbe5d8e2

Co-authored-by: adamhathcock <527620+adamhathcock@users.noreply.github.com>
2026-04-02 09:49:27 +00:00
copilot-swe-agent[bot]
243bf00308 Address code review: fix HbCreateDecodeTables off-by-one, rename test helper
Co-authored-by: adamhathcock <527620+adamhathcock@users.noreply.github.com>
Agent-Logs-Url: https://github.com/adamhathcock/sharpcompress/sessions/3037a2f7-f243-4261-802f-e8c83b4d6722
2026-03-23 10:03:14 +00:00
copilot-swe-agent[bot]
f038652d3b Fix multiple decompressor crashes on malformed input (IOOB, DivByZero, NullRef)
Co-authored-by: adamhathcock <527620+adamhathcock@users.noreply.github.com>
Agent-Logs-Url: https://github.com/adamhathcock/sharpcompress/sessions/3037a2f7-f243-4261-802f-e8c83b4d6722
2026-03-23 09:55:55 +00:00
copilot-swe-agent[bot]
f608957c7a Initial plan: fix multiple decompressor crashes on malformed input
Co-authored-by: adamhathcock <527620+adamhathcock@users.noreply.github.com>
Agent-Logs-Url: https://github.com/adamhathcock/sharpcompress/sessions/3037a2f7-f243-4261-802f-e8c83b4d6722
2026-03-23 09:37:58 +00:00
Adam Hathcock
d7f9d25b74 Merge pull request #1257 from adamhathcock/copilot/fix-rewind-buffer-size-zstandard 2026-03-17 18:38:56 +00:00
copilot-swe-agent[bot]
d56b676ee9 fix: increase RewindableBufferSize to 160KB to cover ZStandard worst-case first block
Co-authored-by: adamhathcock <527620+adamhathcock@users.noreply.github.com>
2026-03-17 12:25:29 +00:00
Daniel Sabel
5fc0d691cf fixes xor range on async WinzipAesCryptoStream path 2026-03-11 08:57:47 +01:00
Daniel Sabel
51859f9a2b fixes decompression of large mixed encrypted zip files 2026-03-09 14:02:31 +01:00
Adam Hathcock
5a8119e562 Merge remote-tracking branch 'origin/release'
# Conflicts:
#	src/SharpCompress/Common/Zip/ZipFilePart.cs
#	src/SharpCompress/IO/SharpCompressStream.cs
2026-03-03 16:25:10 +00:00
Adam Hathcock
1d07f4e1ca Merge pull request #1237 from adamhathcock/copilot/fix-zip-extraction-error
Fix DataErrorException when extracting LZMA-compressed zero-byte ZIP entries
2026-03-03 16:21:11 +00:00
Adam Hathcock
3fb7e02653 update docs 2026-03-03 12:50:27 +00:00
Adam Hathcock
0910f20c90 renamed to ReaderOptions.ForFilePath 2026-03-03 12:40:58 +00:00
Adam Hathcock
ba1cd66336 First pass of moving extraction options back 2026-03-02 07:00:33 +00:00
Adam Hathcock
4445b8e01e fmt 2026-03-01 13:38:20 +00:00
Adam Hathcock
fc426c73e0 correct fix 2026-03-01 13:37:48 +00:00
copilot-swe-agent[bot]
c1b132c215 Fix DataErrorException when extracting 0-size LZMA ZIP entries
Co-authored-by: adamhathcock <527620+adamhathcock@users.noreply.github.com>

# Conflicts:
#	src/SharpCompress/Common/Zip/ZipFilePart.Async.cs
#	src/SharpCompress/Common/Zip/ZipFilePart.cs
2026-03-01 13:25:54 +00:00
copilot-swe-agent[bot]
30dfa72622 Fix DataErrorException when extracting LZMA-compressed zero-byte ZIP entries
Co-authored-by: adamhathcock <527620+adamhathcock@users.noreply.github.com>
2026-02-27 22:10:58 +00:00
copilot-swe-agent[bot]
75d2b70f20 Fix DataErrorException when extracting 0-size LZMA ZIP entries
Co-authored-by: adamhathcock <527620+adamhathcock@users.noreply.github.com>
2026-02-27 22:06:18 +00:00
Adam Hathcock
50e8c66c27 Add async 7z writing 2026-02-25 16:39:22 +00:00
copilot-swe-agent[bot]
d0bfdfd6ab Fix buffer size alignment: use RewindableBufferSize consistently in Create() and StartRecording()
Co-authored-by: adamhathcock <527620+adamhathcock@users.noreply.github.com>
2026-02-25 10:41:26 +00:00
Adam Hathcock
0778b13086 add more docs 2026-02-25 09:15:40 +00:00
Adam Hathcock
a53a88b9dc Make SharpCompressStream public 2026-02-25 09:10:21 +00:00
Adam Hathcock
543c33e26b fmt 2026-02-24 17:09:32 +00:00
Daniil Bystrukhin
9c214a658c Rewind output stream when non-seekable empty input leaves orphaned encoder bytes 2026-02-22 23:31:41 -06:00
Daniil Bystrukhin
d512655c5c Adapt SevenZipFactory and WriterOptionsExtensions to upstream IWriterFactory changes 2026-02-22 23:12:33 -06:00
D. B.
3e35d7e6b4 Merge branch 'adamhathcock:master' into feature/sevenzip-writer-lzma2-new 2026-02-22 23:02:09 -06:00
Daniil Bystrukhin
d4277f5907 Code review fixes: post-dispose guard, SubStreamsInfo spec compliance, CRC dedup, exception filter 2026-02-22 22:30:47 -06:00
Daniil Bystrukhin
d82cf8f911 Merge feature/sevenzip-writer-lzma - use CompressionType enum, default LZMA2 2026-02-22 21:19:13 -06:00