Skip to content

Commit 4b983db

Browse files
committed
Add check, if Offset is greater then stream length when reading colorMapSize
1 parent 67bac23 commit 4b983db

1 file changed

Lines changed: 6 additions & 0 deletions

File tree

src/ImageSharp/Formats/Bmp/BmpDecoderCore.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1548,6 +1548,12 @@ private int ReadImageHeaders(BufferedReadStream stream, out bool inverted, out b
15481548
case BmpFileMarkerType.Bitmap:
15491549
if (this.fileHeader.HasValue)
15501550
{
1551+
if (this.fileHeader.Value.Offset > stream.Length)
1552+
{
1553+
BmpThrowHelper.ThrowInvalidImageContentException(
1554+
$"Pixel data offset {this.fileHeader.Value.Offset} exceeds file size {stream.Length}.");
1555+
}
1556+
15511557
colorMapSizeBytes = this.fileHeader.Value.Offset - BmpFileHeader.Size - this.infoHeader.HeaderSize;
15521558
}
15531559
else

0 commit comments

Comments
 (0)