]> granicus.if.org Git - imagemagick/commitdiff
Reverted patch to fix https://www.imagemagick.org/discourse-server/viewtopic.php...
authorDirk Lemstra <dirk@lemstra.org>
Fri, 16 Nov 2018 06:31:41 +0000 (07:31 +0100)
committerDirk Lemstra <dirk@lemstra.org>
Fri, 16 Nov 2018 06:31:41 +0000 (07:31 +0100)
coders/bmp.c

index df0d8c7254f813f3141b60e270b3cd585ef35c95..a4ba0a5a1141fc51ea93238c8c29df3ffa8168d9 100644 (file)
@@ -954,11 +954,11 @@ static Image *ReadBMPImage(const ImageInfo *image_info,ExceptionInfo *exception)
       bmp_info.bits_per_pixel<<=1;
     bytes_per_line=4*((image->columns*bmp_info.bits_per_pixel+31)/32);
     length=(size_t) bytes_per_line*image->rows;
-    if (((MagickSizeType) length/8) > GetBlobSize(image))
-      ThrowReaderException(CorruptImageError,"InsufficientImageDataInFile");
     if ((bmp_info.compression == BI_RGB) ||
         (bmp_info.compression == BI_BITFIELDS))
       {
+        if ((MagickSizeType) length > GetBlobSize(image))
+          ThrowReaderException(CorruptImageError,"InsufficientImageDataInFile");
         pixel_info=AcquireVirtualMemory(image->rows,
           MagickMax(bytes_per_line,image->columns+256UL)*sizeof(*pixels));
         if (pixel_info == (MemoryInfo *) NULL)