diff --git a/src/ICSharpCode.SharpZipLib/Zip/ZipOutputStream.cs b/src/ICSharpCode.SharpZipLib/Zip/ZipOutputStream.cs index b9f1965dd..ad1be6e46 100644 --- a/src/ICSharpCode.SharpZipLib/Zip/ZipOutputStream.cs +++ b/src/ICSharpCode.SharpZipLib/Zip/ZipOutputStream.cs @@ -206,6 +206,9 @@ private void WriteLeLong(long value) /// Entry name is too long
/// Finish has already been called
/// + /// + /// The Compression method specified for the entry is unsupported. + /// public void PutNextEntry(ZipEntry entry) { if (entry == null) @@ -229,6 +232,13 @@ public void PutNextEntry(ZipEntry entry) } CompressionMethod method = entry.CompressionMethod; + + // Check that the compression is one that we support + if (method != CompressionMethod.Deflated && method != CompressionMethod.Stored) + { + throw new NotImplementedException("Compression method not supported"); + } + int compressionLevel = defaultCompressionLevel; // Clear flags that the library manages internally