]> granicus.if.org Git - imagemagick/commitdiff
(no commit message)
authorcristy <urban-warrior@git.imagemagick.org>
Sun, 1 Feb 2015 18:13:23 +0000 (18:13 +0000)
committercristy <urban-warrior@git.imagemagick.org>
Sun, 1 Feb 2015 18:13:23 +0000 (18:13 +0000)
coders/jpeg.c

index 01ba6b476a2b2d8b3c9576f2b5cf6f72af4e6f77..b280dbd6083fff014da2a1a6fd3d4bde32ac1b60 100644 (file)
@@ -1302,7 +1302,16 @@ static Image *ReadJPEGImage(const ImageInfo *image_info,
     }
   status=SetImageExtent(image,image->columns,image->rows,exception);
   if (status == MagickFalse)
-    return(DestroyImageList(image));
+    {
+      jpeg_destroy_decompress(&jpeg_info);
+      return(DestroyImageList(image));
+    }
+  if ((jpeg_info.output_components != 1) &&
+      (jpeg_info.output_components != 3) && (jpeg_info.output_components != 4))
+    {
+      jpeg_destroy_decompress(&jpeg_info);
+      ThrowReaderException(CorruptImageError,"ImageTypeNotSupported");
+    }
   memory_info=AcquireVirtualMemory((size_t) image->columns,
     jpeg_info.output_components*sizeof(*jpeg_pixels));
   if (memory_info == (MemoryInfo *) NULL)