From 8d3fc3533bad74f3cf5bd87ae9b45b98bdf05554 Mon Sep 17 00:00:00 2001 From: Dan Baumberger Date: Fri, 19 May 2017 08:36:11 -0700 Subject: [PATCH] Issue #230: preserve the compression method when getting a compressed stream for encrypted ZIP archives. --- src/SharpCompress/Archives/Zip/ZipArchiveEntry.cs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/SharpCompress/Archives/Zip/ZipArchiveEntry.cs b/src/SharpCompress/Archives/Zip/ZipArchiveEntry.cs index 2f1f80f2..64fc8427 100644 --- a/src/SharpCompress/Archives/Zip/ZipArchiveEntry.cs +++ b/src/SharpCompress/Archives/Zip/ZipArchiveEntry.cs @@ -14,7 +14,15 @@ namespace SharpCompress.Archives.Zip public virtual Stream OpenEntryStream() { - return Parts.Single().GetCompressedStream(); + var filePart = Parts.Single() as ZipFilePart; + var compressionMethod = filePart.Header.CompressionMethod; + var stream = filePart.GetCompressedStream(); + if (filePart.Header.CompressionMethod != compressionMethod) + { + filePart.Header.CompressionMethod = compressionMethod; + } + + return stream; } #region IArchiveEntry Members