From: Cristy Date: Wed, 13 Sep 2017 14:51:45 +0000 (-0400) Subject: ... X-Git-Tag: 7.0.7-3~46 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=496f0644e983fab0783f7f193194e00cbb15d3ac;p=imagemagick ... --- diff --git a/coders/gray.c b/coders/gray.c index a46cb9aaf..5fdf79da3 100644 --- a/coders/gray.c +++ b/coders/gray.c @@ -139,19 +139,22 @@ static Image *ReadGRAYImage(const ImageInfo *image_info, image=AcquireImage(image_info,exception); if ((image->columns == 0) || (image->rows == 0)) ThrowReaderException(OptionError,"MustSpecifyImageSize"); + status=SetImageExtent(image,image->columns,image->rows,exception); + if (status == MagickFalse) + return(DestroyImageList(image)); status=OpenBlob(image_info,image,ReadBinaryBlobMode,exception); if (status == MagickFalse) { image=DestroyImageList(image); return((Image *) NULL); } - if (DiscardBlobBytes(image,(size_t) image->offset) == MagickFalse) + if (DiscardBlobBytes(image,(MagickSizeType) image->offset) == MagickFalse) ThrowFileException(exception,CorruptImageError,"UnexpectedEndOfFile", image->filename); /* Create virtual canvas to support cropping (i.e. image.gray[100x100+10+20]). */ - SetImageColorspace(image,GRAYColorspace,exception); + (void) SetImageColorspace(image,GRAYColorspace,exception); canvas_image=CloneImage(image,image->extract_info.width,1,MagickFalse, exception); (void) SetImageVirtualPixelMethod(canvas_image,BlackVirtualPixelMethod, @@ -190,8 +193,9 @@ static Image *ReadGRAYImage(const ImageInfo *image_info, break; status=SetImageExtent(image,image->columns,image->rows,exception); if (status == MagickFalse) - return(DestroyImageList(image)); - SetImageColorspace(image,GRAYColorspace,exception); + break; + if (SetImageColorspace(image,GRAYColorspace,exception) == MagickFalse) + break; if (scene == 0) { length=GetQuantumExtent(canvas_image,quantum_info,quantum_type);