diff --git a/src/SharpCompress/Writers/Zip/ZipWriter.cs b/src/SharpCompress/Writers/Zip/ZipWriter.cs index 1f806d534..3a29ac63d 100644 --- a/src/SharpCompress/Writers/Zip/ZipWriter.cs +++ b/src/SharpCompress/Writers/Zip/ZipWriter.cs @@ -276,6 +276,7 @@ internal class ZipWritingStream : Stream // 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 @@ private Stream GetWriteStream(Stream writeStream) protected override void Dispose(bool disposing) { + if (isDisposed) + { + return; + } + + isDisposed = true; + base.Dispose(disposing); if (disposing) {