From: Dirk Lemstra Date: Sat, 2 Dec 2017 17:45:20 +0000 (+0100) Subject: Moved call to `SetImageExtent` to exit earlier. X-Git-Tag: 7.0.7-14~14 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=b7ed4d3be652895ba0044cf398e984703bf839d9;p=imagemagick Moved call to `SetImageExtent` to exit earlier. --- diff --git a/coders/bmp.c b/coders/bmp.c index 7f2e992e9..f758b7a6d 100644 --- a/coders/bmp.c +++ b/coders/bmp.c @@ -888,6 +888,15 @@ static Image *ReadBMPImage(const ImageInfo *image_info,ExceptionInfo *exception) if (image->colors == 0) image->colors=one << bmp_info.bits_per_pixel; } + image->resolution.x=(double) bmp_info.x_pixels/100.0; + image->resolution.y=(double) bmp_info.y_pixels/100.0; + image->units=PixelsPerCentimeterResolution; + if ((image_info->ping != MagickFalse) && (image_info->number_scenes != 0)) + if (image->scene >= (image_info->scene+image_info->number_scenes-1)) + break; + status=SetImageExtent(image,image->columns,image->rows,exception); + if (status == MagickFalse) + return(DestroyImageList(image)); if (image->storage_class == PseudoClass) { unsigned char @@ -936,15 +945,6 @@ static Image *ReadBMPImage(const ImageInfo *image_info,ExceptionInfo *exception) } bmp_colormap=(unsigned char *) RelinquishMagickMemory(bmp_colormap); } - image->resolution.x=(double) bmp_info.x_pixels/100.0; - image->resolution.y=(double) bmp_info.y_pixels/100.0; - image->units=PixelsPerCentimeterResolution; - if ((image_info->ping != MagickFalse) && (image_info->number_scenes != 0)) - if (image->scene >= (image_info->scene+image_info->number_scenes-1)) - break; - status=SetImageExtent(image,image->columns,image->rows,exception); - if (status == MagickFalse) - return(DestroyImageList(image)); /* Read image data. */