From: cristy Date: Sun, 8 Apr 2012 15:45:03 +0000 (+0000) Subject: (no commit message) X-Git-Tag: 7.0.1-0~5869 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=c045d8f0b90e484e230f4cae8828bd20b1009bf2;p=imagemagick --- diff --git a/coders/bmp.c b/coders/bmp.c index 9bf12b645..f1057a53b 100644 --- a/coders/bmp.c +++ b/coders/bmp.c @@ -903,9 +903,12 @@ static Image *ReadBMPImage(const ImageInfo *image_info,ExceptionInfo *exception) /* Read image data. */ - offset=SeekBlob(image,start_position+bmp_info.offset_bits,SEEK_SET); - if (offset < 0) - ThrowReaderException(CorruptImageError,"ImproperImageHeader"); + if ((start_position+bmp_info.offset_bits) > TellBlob(image)) + { + offset=SeekBlob(image,start_position+bmp_info.offset_bits,SEEK_SET); + if (offset < 0) + ThrowReaderException(CorruptImageError,"ImproperImageHeader"); + } if (bmp_info.compression == BI_RLE4) bmp_info.bits_per_pixel<<=1; bytes_per_line=4*((image->columns*bmp_info.bits_per_pixel+31)/32);