Adam Hathcock
512f101d26
Merge remote-tracking branch 'origin/master' into coderb/master
2026-03-28 09:57:33 +00:00
Adam Hathcock
fefeed0601
Merge pull request #1267 from adamhathcock/release
...
Release to master
2026-03-28 09:53:45 +00:00
root
265d99095b
Fix three BLAKE2sp correctness bugs and eliminate allocations in hot path
...
1. Fix off-by-one in Update(BLAKE2SP): pos was masked with 448 (64×7)
instead of 511 (64×8−1), causing incorrect leaf assignment when update
chunks are not multiples of 64 bytes. This produced wrong hashes
whenever streaming reads didn't align to 64-byte boundaries.
2. Fix double-finalization when Read() is called again after returning 0.
Final() was called unconditionally on each EOF read, re-running
compression on an already-finalized state and corrupting the hash.
EnsureHash() guards with a null-check and is idempotent; both sync
and async Read paths share the fix. _blake2sp is set to null after
finalization so any erroneous post-final calls fail fast rather than
silently corrupting state.
3. Fix false-positive CRC check when stream is not fully drained.
_hash was initialized to fileHeader.FileCrc in the constructor, so
GetCrc() returned the expected CRC rather than the computed one if
the stream was abandoned early. The check would then compare the
expected hash against itself and always succeed, silently accepting
a corrupt or incomplete file. _hash is now null until the stream is
fully read; GetCrc() throws if called early rather than returning a
misleading value.
Additional changes:
- Compress: stackalloc m/v arrays instead of heap; LE fast path via
MemoryMarshal.Cast replaces 16 BitConverter.ToUInt32 calls per block
- Final(BLAKE2S): write directly to Span<byte>, eliminating MemoryStream
and BitConverter.GetBytes allocations; 8 leaf digests now stackalloc'd
- Inner classes and fields: private, sealed, readonly where applicable
2026-03-27 13:34:00 -04: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
b05a16d007
oops, wrong change made
2026-03-06 15:39:07 +00:00
Adam Hathcock
e6a179bdb5
fmt
2026-03-06 15:33:57 +00:00
Adam Hathcock
f13ab3a0e7
FindFactoryAsync shouldn't be public
2026-03-06 15:33:30 +00:00
Adam Hathcock
ebd784cfb2
code review changes
2026-03-06 15:16:28 +00:00
copilot-swe-agent[bot]
b0e9736005
Rename IWriteableArchiveFactory.cs to IWritableArchiveFactory.cs to match interface name
...
Co-authored-by: adamhathcock <527620+adamhathcock@users.noreply.github.com >
2026-03-06 14:52:06 +00:00
Adam Hathcock
9050a7a64a
remove extra creates
2026-03-06 11:43:44 +00:00
Adam Hathcock
f34ed8bd94
first commit for conslidating publci api
2026-03-06 11:22:09 +00: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
Daniil Bystrukhin
97b8a93a0c
Pass CompressionType through compressor instead of bool isLzma2
2026-02-22 21:15:17 -06:00
Daniil Bystrukhin
bcf628568c
Replace IsLzma2 flag with CompressionType enum for 7z writer API consistency
2026-02-22 21:08:34 -06:00
Daniil Bystrukhin
be0e298b1a
Merge branch 'feature/sevenzip-writer-lzma' into feature/sevenzip-writer-lzma2-new
2026-02-22 20:34:50 -06:00
Daniil Bystrukhin
cac77aaeda
Strip trailing slash from directory names in 7z writer
2026-02-22 20:22:21 -06:00
Adam Hathcock
8d24dff967
fix aot
2026-02-22 13:22:37 +00:00
Adam Hathcock
0d913f6bbc
some code fixes
2026-02-22 13:19:04 +00:00
Adam Hathcock
f766213d06
Merge branch 'master' into adam/writers-should-async
...
# Conflicts:
# src/SharpCompress/Writers/WriterOptionsExtensions.cs
# tests/SharpCompress.Test/GZip/GZipWriterAsyncTests.cs
# tests/SharpCompress.Test/WriterTests.cs
2026-02-22 10:45:17 +00:00
Adam Hathcock
19d11b0882
post-merge restore
2026-02-22 10:43:37 +00:00
Adam Hathcock
f0db93c8c2
Merge remote-tracking branch 'origin/release'
2026-02-22 10:42:55 +00:00
Daniil Bystrukhin
6893a68559
Add LZMA2 encoding support for 7z writer
2026-02-21 23:13:40 -06:00
Daniil Bystrukhin
5e8ea67e21
Add 7z writer with LZMA compression support
2026-02-21 23:12:38 -06:00
Nanook
992a37646e
Missed 9.0 aot
2026-02-21 02:00:32 +00:00
Nanook
ff92c51c68
Added 9.0 Hmm
2026-02-21 01:58:22 +00:00