Browse Source

Throw Exception when packed bits compressed data is not enough

pull/1570/head
Brian Popow 5 years ago
parent
commit
d3a43a37ee
  1. 5
      src/ImageSharp/Formats/Tiff/Compression/Decompressors/PackBitsTiffCompression.cs

5
src/ImageSharp/Formats/Tiff/Compression/Decompressors/PackBitsTiffCompression.cs

@ -43,6 +43,11 @@ namespace SixLabors.ImageSharp.Formats.Experimental.Tiff.Compression.Decompresso
int literalOffset = compressedOffset + 1;
int literalLength = compressedData[compressedOffset] + 1;
if ((literalOffset + literalLength) > compressedData.Length)
{
TiffThrowHelper.ThrowImageFormatException("Tiff packbits compression error: not enough data.");
}
compressedData.Slice(literalOffset, literalLength).CopyTo(buffer.Slice(decompressedOffset));
compressedOffset += literalLength + 1;

Loading…
Cancel
Save