From: Cristy Date: Fri, 4 May 2018 13:13:13 +0000 (-0400) Subject: ... X-Git-Tag: 7.0.7-31~23 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=c945953a9acfd7f0ec935b32daec37e9e2f4e574;p=imagemagick ... --- diff --git a/coders/png.c b/coders/png.c index 9ed76735b..0bcdcf721 100644 --- a/coders/png.c +++ b/coders/png.c @@ -4502,7 +4502,14 @@ static Image *ReadOneJNGImage(MngInfo *mng_info, { DestroyJNG(NULL,&color_image,&color_image_info, &alpha_image,&alpha_image_info); - ThrowReaderException(CorruptImageError,"CorruptImage"); + ThrowReaderException(CorruptImageError,"ImproperImageHeader"); + } + if (length > GetBlobSize(image)) + { + DestroyJNG(NULL,&color_image,&color_image_info, + &alpha_image,&alpha_image_info); + ThrowReaderException(CorruptImageError, + "InsufficientImageDataInFile"); } p=NULL; @@ -4510,13 +4517,6 @@ static Image *ReadOneJNGImage(MngInfo *mng_info, if (length != 0) { - if (length > GetBlobSize(image)) - { - DestroyJNG(NULL,&color_image,&color_image_info, - &alpha_image,&alpha_image_info); - ThrowReaderException(CorruptImageError, - "InsufficientImageDataInFile"); - } chunk=(unsigned char *) AcquireQuantumMemory(length,sizeof(*chunk)); if (chunk == (unsigned char *) NULL)