From 08fee76b4eff2bc82985dd7cd0abe0d10102c39c Mon Sep 17 00:00:00 2001 From: Vladimir Kozlov Date: Fri, 8 Sep 2017 19:25:53 +0700 Subject: [PATCH] Fixes Double Dispose() of ZipWritingStream #294 https://github.com/adamhathcock/sharpcompress/issues/294 (#295) --- src/SharpCompress/Writers/Zip/ZipWriter.cs | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/SharpCompress/Writers/Zip/ZipWriter.cs b/src/SharpCompress/Writers/Zip/ZipWriter.cs index 1f806d53..3a29ac63 100644 --- a/src/SharpCompress/Writers/Zip/ZipWriter.cs +++ b/src/SharpCompress/Writers/Zip/ZipWriter.cs @@ -276,6 +276,7 @@ namespace SharpCompress.Writers.Zip // Flag to prevent throwing exceptions on Dispose private bool limitsExceeded; + private bool isDisposed; internal ZipWritingStream(ZipWriter writer, Stream originalStream, ZipCentralDirectoryEntry entry, ZipCompressionMethod zipCompressionMethod, CompressionLevel compressionLevel) @@ -344,6 +345,13 @@ namespace SharpCompress.Writers.Zip protected override void Dispose(bool disposing) { + if (isDisposed) + { + return; + } + + isDisposed = true; + base.Dispose(disposing); if (disposing) {