From cd1684b81c903fd2a2337c78e7f81f646b290438 Mon Sep 17 00:00:00 2001 From: Adam Hathcock Date: Fri, 13 Feb 2026 14:26:21 +0000 Subject: [PATCH] merge fixes --- src/SharpCompress/Common/Zip/ZipFilePart.cs | 42 ++++++++----------- .../LZMA/Utilites/CrcCheckStream.cs | 2 - .../SharpCompressStreamErrorAsyncTest.cs | 3 ++ .../SharpCompressStreamSeekAsyncTest.cs | 3 ++ .../Streams/SharpCompressStreamSeekTest.cs | 3 ++ 5 files changed, 27 insertions(+), 26 deletions(-) diff --git a/src/SharpCompress/Common/Zip/ZipFilePart.cs b/src/SharpCompress/Common/Zip/ZipFilePart.cs index 61e838bf..b45ef1fc 100644 --- a/src/SharpCompress/Common/Zip/ZipFilePart.cs +++ b/src/SharpCompress/Common/Zip/ZipFilePart.cs @@ -140,31 +140,25 @@ internal abstract partial class ZipFilePart : FilePart { throw new NotSupportedException("LZMA with pkware encryption."); } - using ( - var reader = new BinaryReader( - stream, - System.Text.Encoding.Default, - leaveOpen: true - ) - ) + + using var reader = new BinaryReader( + stream, + System.Text.Encoding.Default, + leaveOpen: true + ); + reader.ReadUInt16(); // LZMA version + var propsLength = reader.ReadUInt16(); + var props = reader.ReadBytes(propsLength); + context = context with { - reader.ReadUInt16(); // LZMA version - var propsLength = reader.ReadUInt16(); - var props = new byte[propsLength]; - reader.Read(props, 0, props.Length); - context = context with - { - Properties = props, - InputSize = - Header.CompressedSize > 0 - ? Header.CompressedSize - 4 - props.Length - : -1, - OutputSize = FlagUtility.HasFlag(Header.Flags, HeaderFlags.Bit1) - ? -1 - : Header.UncompressedSize, - }; - return providers.CreateDecompressStream(compressionType, stream, context); - } + Properties = props, + InputSize = + Header.CompressedSize > 0 ? Header.CompressedSize - 4 - props.Length : -1, + OutputSize = FlagUtility.HasFlag(Header.Flags, HeaderFlags.Bit1) + ? -1 + : Header.UncompressedSize, + }; + return providers.CreateDecompressStream(compressionType, stream, context); } case ZipCompressionMethod.PPMd: { diff --git a/src/SharpCompress/Compressors/LZMA/Utilites/CrcCheckStream.cs b/src/SharpCompress/Compressors/LZMA/Utilites/CrcCheckStream.cs index c90ebfda..d0e7b0c7 100644 --- a/src/SharpCompress/Compressors/LZMA/Utilites/CrcCheckStream.cs +++ b/src/SharpCompress/Compressors/LZMA/Utilites/CrcCheckStream.cs @@ -15,7 +15,6 @@ public class CrcCheckStream : Stream private bool _mClosed; private readonly long[] _mBytes = ArrayPool.Shared.Rent(256); - private long _mLength; public CrcCheckStream(uint crc) { @@ -97,7 +96,6 @@ public class CrcCheckStream : Stream public override void Write(byte[] buffer, int offset, int count) { - _mLength += count; for (var i = 0; i < count; i++) { _mBytes[buffer[offset + i]]++; diff --git a/tests/SharpCompress.Test/Streams/SharpCompressStreamErrorAsyncTest.cs b/tests/SharpCompress.Test/Streams/SharpCompressStreamErrorAsyncTest.cs index ebd225c0..8d59ddaa 100644 --- a/tests/SharpCompress.Test/Streams/SharpCompressStreamErrorAsyncTest.cs +++ b/tests/SharpCompress.Test/Streams/SharpCompressStreamErrorAsyncTest.cs @@ -40,7 +40,10 @@ public class SharpCompressStreamErrorAsyncTest protected override void Dispose(bool disposing) { if (disposing) + { _baseStream.Dispose(); + } + base.Dispose(disposing); } } diff --git a/tests/SharpCompress.Test/Streams/SharpCompressStreamSeekAsyncTest.cs b/tests/SharpCompress.Test/Streams/SharpCompressStreamSeekAsyncTest.cs index 9d17febf..3a93960f 100644 --- a/tests/SharpCompress.Test/Streams/SharpCompressStreamSeekAsyncTest.cs +++ b/tests/SharpCompress.Test/Streams/SharpCompressStreamSeekAsyncTest.cs @@ -40,7 +40,10 @@ public class SharpCompressStreamSeekAsyncTest protected override void Dispose(bool disposing) { if (disposing) + { _baseStream.Dispose(); + } + base.Dispose(disposing); } } diff --git a/tests/SharpCompress.Test/Streams/SharpCompressStreamSeekTest.cs b/tests/SharpCompress.Test/Streams/SharpCompressStreamSeekTest.cs index b2313489..05d3dc21 100644 --- a/tests/SharpCompress.Test/Streams/SharpCompressStreamSeekTest.cs +++ b/tests/SharpCompress.Test/Streams/SharpCompressStreamSeekTest.cs @@ -43,7 +43,10 @@ public class SharpCompressStreamSeekTest protected override void Dispose(bool disposing) { if (disposing) + { _baseStream.Dispose(); + } + base.Dispose(disposing); } }