]> granicus.if.org Git - imagemagick/commitdiff
Return NULL when we fail to read the embedded image.
authorDirk Lemstra <dirk@git.imagemagick.org>
Sat, 10 Mar 2018 13:18:18 +0000 (14:18 +0100)
committerDirk Lemstra <dirk@git.imagemagick.org>
Sat, 10 Mar 2018 13:18:47 +0000 (14:18 +0100)
coders/wpg.c

index ec1cfeb8c891aed9d9e22396289d84fd8bb8addd..54fa6331595b627b02d47c0a09d038dc757e0623 100644 (file)
@@ -749,6 +749,9 @@ static Image *ExtractPostscript(Image *image,const ImageInfo *image_info,
   Image
     *image2;
 
+  MagickBooleanType
+    status;
+
   unsigned char
     magick[2*MagickPathExtent];
 
@@ -759,6 +762,7 @@ static Image *ExtractPostscript(Image *image,const ImageInfo *image_info,
     return(image);
   clone_info->blob=(void *) NULL;
   clone_info->length=0;
+  status=MagickFalse;
 
   /* Obtain temporary file */
   (void) AcquireUniqueFilename(postscript_file);
@@ -808,7 +812,7 @@ static Image *ExtractPostscript(Image *image,const ImageInfo *image_info,
   if(exception->severity>=ErrorException)
   {
     CloseBlob(image2);
-    DestroyImageList(image2); 
+    DestroyImageList(image2);
     goto FINISH_UNL;
   }
 
@@ -853,11 +857,14 @@ static Image *ExtractPostscript(Image *image,const ImageInfo *image_info,
   AppendImageToList(&image,image2);
   while (image->next != NULL)
     image=image->next;
+  status=MagickTrue;
 
  FINISH_UNL:
   (void) RelinquishUniqueFileResource(postscript_file);
  FINISH:
   DestroyImageInfo(clone_info);
+  if (status == MagickFalse)
+    return((Image *) NULL);
   return(image);
 }
 \f