copilot-swe-agent[bot]
c994a9f845
Fix DataDescriptorStream to handle legitimate cross-boundary signatures
...
Previous fix prevented infinite loops but broke detection of legitimate
data descriptor signatures split across buffer boundaries.
New approach:
- Track previous rewind count in _previousSearchPosition
- Detect infinite loop when read size equals previous rewind count
AND all bytes match the signature pattern
- In that case, treat bytes as data (not signature) to break loop
- Otherwise, allow normal rewind/match to continue for legitimate
cross-boundary signatures
This fixes both cases:
1. Infinite loop on data containing signature-like bytes (0x50...)
2. Correct detection of actual signatures split at buffer edge
Co-authored-by: adamhathcock <527620+adamhathcock@users.noreply.github.com >
2026-01-29 08:43:36 +00:00
copilot-swe-agent[bot]
e896179f3e
Add regression test for DataDescriptorStream boundary bug
...
Test reproduces the infinite loop scenario where:
- ZIP file contains data filled with 0x50 ('P') bytes
- Non-seekable stream triggers DataDescriptorStream usage
- Partial signature matches at buffer boundaries caused infinite rewind loop
The test verifies that with the fix in place, extraction completes
successfully without hanging. It includes safeguards to detect if the
infinite loop condition occurs (> 1000 read iterations for 100KB file).
Co-authored-by: adamhathcock <527620+adamhathcock@users.noreply.github.com >
2026-01-28 14:34:58 +00:00
copilot-swe-agent[bot]
c726a13a97
Fix DataDescriptorStream boundary bug to prevent infinite loop
...
When the first byte of the data descriptor signature (0x50 = 'P') appears as
the last byte of a read buffer, the reader would rewind and re-read the same
byte repeatedly, causing an infinite loop.
The fix tracks the last rewind position and prevents rewinding to the same
position twice, breaking the infinite loop while preserving correct behavior.
Fixes boundary condition where signature bytes at buffer edge cause hang.
Co-authored-by: adamhathcock <527620+adamhathcock@users.noreply.github.com >
2026-01-28 12:34:39 +00:00
copilot-swe-agent[bot]
82071af566
Initial plan
2026-01-28 12:25:49 +00:00
Adam Hathcock
9a7bdd39e8
Merge pull request #1172 from adamhathcock/copilot/fix-sevenzip-contiguous-streams
...
Fix SevenZipReader to maintain contiguous stream state for solid archives
0.44.5
2026-01-28 08:35:28 +00:00
Adam Hathcock
484bc740d7
Update src/SharpCompress/Archives/SevenZip/SevenZipArchive.cs
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-01-28 08:26:28 +00:00
Adam Hathcock
8a67d501a8
Don't use reflection in tests
2026-01-28 08:10:06 +00:00
copilot-swe-agent[bot]
3c87242bd0
Add test to verify folder stream reuse in solid archives
...
Co-authored-by: adamhathcock <527620+adamhathcock@users.noreply.github.com >
2026-01-27 17:29:44 +00:00
copilot-swe-agent[bot]
999124e68e
Remove unused _currentFolderIndex field
...
Co-authored-by: adamhathcock <527620+adamhathcock@users.noreply.github.com >
2026-01-27 17:03:20 +00:00
copilot-swe-agent[bot]
db2f5c9cb9
Fix SevenZipReader to iterate entries as contiguous streams
...
Co-authored-by: adamhathcock <527620+adamhathcock@users.noreply.github.com >
2026-01-27 17:01:18 +00:00
Adam Hathcock
af08a7cd54
Merge pull request #1169 from adamhathcock/copilot/fix-zip-parsing-regression
...
Fix ZIP parsing failure on non-seekable streams with short reads
2026-01-27 16:54:12 +00:00
copilot-swe-agent[bot]
72eaf66f05
Initial plan
2026-01-27 16:53:53 +00:00
Adam Hathcock
8a3be35d67
Update tests/SharpCompress.Test/Zip/ZipShortReadTests.cs
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-01-27 16:43:13 +00:00
copilot-swe-agent[bot]
d59e4c2a0d
Refactor FillBuffer to use ReadFully pattern
...
Co-authored-by: adamhathcock <527620+adamhathcock@users.noreply.github.com >
2026-01-27 16:25:24 +00:00
copilot-swe-agent[bot]
71655e04c4
Apply code formatting with CSharpier
...
Co-authored-by: adamhathcock <527620+adamhathcock@users.noreply.github.com >
2026-01-27 16:02:26 +00:00
copilot-swe-agent[bot]
a706a9d725
Fix ZIP parsing regression with short reads on non-seekable streams
...
Co-authored-by: adamhathcock <527620+adamhathcock@users.noreply.github.com >
2026-01-27 16:00:44 +00:00
copilot-swe-agent[bot]
970934a40b
Initial plan
2026-01-27 15:51:50 +00:00
Adam Hathcock
a9c28a7b62
Merge pull request #1165 from adamhathcock/adam/buffer-size-consolidation
...
(Release) Buffer size consolidation
2026-01-27 14:41:14 +00:00
Adam Hathcock
4d31436740
constant should be a static property
2026-01-27 12:39:01 +00:00
Adam Hathcock
c82744c51c
fmt
2026-01-27 12:15:31 +00:00
Adam Hathcock
f0eaddc6a6
Merge remote-tracking branch 'origin/adam/buffer-size-consolidation' into adam/buffer-size-consolidation
2026-01-27 12:14:17 +00:00
Adam Hathcock
d6156f0f1e
release branch builds increment patch versions and master builds increment minor versions
2026-01-27 12:14:03 +00:00
Adam Hathcock
3c88c7fdd5
Merge pull request #1167 from adamhathcock/copilot/sub-pr-1165-again
...
Fix grammatical errors in ArcFactory comment documentation
2026-01-27 11:58:25 +00:00
Adam Hathcock
d11f6aefb0
Merge pull request #1166 from adamhathcock/copilot/sub-pr-1165
...
Add [Obsolete] attribute to ReaderOptions.DefaultBufferSize for backward compatibility
2026-01-27 11:57:54 +00:00
copilot-swe-agent[bot]
010a38bb73
Add clarifying comment about buffer size value difference
...
Co-authored-by: adamhathcock <527620+adamhathcock@users.noreply.github.com >
2026-01-27 11:54:50 +00:00
copilot-swe-agent[bot]
53f12d75db
Add [Obsolete] attribute to ReaderOptions.DefaultBufferSize
...
Co-authored-by: adamhathcock <527620+adamhathcock@users.noreply.github.com >
2026-01-27 11:53:37 +00:00
copilot-swe-agent[bot]
6c866324b2
Fix grammatical errors in ArcFactory comments
...
Co-authored-by: adamhathcock <527620+adamhathcock@users.noreply.github.com >
2026-01-27 11:49:29 +00:00
copilot-swe-agent[bot]
a114155189
Initial plan
2026-01-27 11:48:05 +00:00
copilot-swe-agent[bot]
014bbc3ea4
Initial plan
2026-01-27 11:47:52 +00:00
Adam Hathcock
d52facd4ab
Remove change
2026-01-27 10:48:32 +00:00
Adam Hathcock
0a50386ada
Using Constants class differently
2026-01-27 10:46:54 +00:00
Adam Hathcock
b9fc680548
Merge pull request #1160 from adamhathcock/adam/check-if-seek
...
add check to see if we need to seek before hand
0.44.4
2026-01-26 12:24:39 +00:00
Adam Hathcock
7dcc13c1f0
Merge pull request #1161 from adamhathcock/copilot/sub-pr-1160
...
Fix ArrayPool corruption from double-disposal in BufferedSubStream
2026-01-26 12:15:55 +00:00
copilot-swe-agent[bot]
56d3091688
Fix condition order to check CanSeek before Position
...
Co-authored-by: adamhathcock <527620+adamhathcock@users.noreply.github.com >
2026-01-26 12:12:08 +00:00
copilot-swe-agent[bot]
a0af0604d1
Add disposal checks to RefillCache methods
...
Co-authored-by: adamhathcock <527620+adamhathcock@users.noreply.github.com >
2026-01-26 12:11:16 +00:00
copilot-swe-agent[bot]
875c2d7694
Fix BufferedSubStream double-dispose issue with ArrayPool
...
Co-authored-by: adamhathcock <527620+adamhathcock@users.noreply.github.com >
2026-01-26 12:10:19 +00:00
Adam Hathcock
8c95f863cb
do CanSeek first
2026-01-26 12:06:57 +00:00
copilot-swe-agent[bot]
ddf37e82c2
Initial plan
2026-01-26 12:06:38 +00:00
Adam Hathcock
a82fda98d7
more testing and add pooling to cache
2026-01-26 11:45:25 +00:00
Adam Hathcock
44e4b1804e
add check to see if we need to seek before hand
2026-01-26 09:41:13 +00:00
Adam Hathcock
4ca1a7713e
Merge pull request #1157 from adamhathcock/adam/1154-release
...
Merge pull request #1156 from adamhathcock/copilot/fix-sharpcompress-…
0.44.3
2026-01-25 11:36:59 +00:00
Adam Hathcock
9caf7be928
Revert testing
2026-01-24 10:23:02 +00:00
Adam Hathcock
bf4217fde6
Merge pull request #1156 from adamhathcock/copilot/fix-sharpcompress-archive-iteration
...
Fix silent iteration failure when input stream throws on Flush()
# Conflicts:
# src/SharpCompress/packages.lock.json
2026-01-24 10:18:02 +00:00
Adam Hathcock
d5a8c37113
Merge pull request #1154 from adamhathcock/adam/1151-release
...
Adam/1151 release cherry pick
0.44.2
2026-01-23 09:31:03 +00:00
Adam Hathcock
21ce9a38e6
fix up tests
2026-01-23 09:04:55 +00:00
Adam Hathcock
7732fbb698
Merge pull request #1151 from adamhathcock/copilot/fix-entrystream-flush-issue
...
Fix EntryStream.Dispose() throwing NotSupportedException on non-seekable streams
2026-01-23 08:59:56 +00:00
Adam Hathcock
97879f18b6
Merge pull request #1146 from adamhathcock/adam/pr-1145-release
...
Merge pull request #1145 from adamhathcock/copilot/add-leaveopen-para…
0.44.1
2026-01-19 10:35:33 +00:00
Adam Hathcock
d74454f7e9
Merge pull request #1145 from adamhathcock/copilot/add-leaveopen-parameter-lzipstream
...
Add leaveOpen parameter to LZipStream and BZip2Stream
2026-01-19 09:58:10 +00:00
Adam Hathcock
5c947bccc7
Merge branch 'adam/update-docs'
0.44.0
2026-01-07 16:18:51 +00:00
Adam Hathcock
fbdefc17c1
updates from review
2026-01-07 16:18:27 +00:00