File ImageMagick-CVE-2014-9828.patch of Package ImageMagick.6152
Index: ImageMagick-6.8.9-8/coders/psd.c
===================================================================
--- ImageMagick-6.8.9-8.orig/coders/psd.c 2014-08-29 16:21:02.000000000 +0200
+++ ImageMagick-6.8.9-8/coders/psd.c 2016-06-14 08:34:05.400315356 +0200
@@ -1710,10 +1710,16 @@ static Image *ReadPSDImage(const ImageIn
}
else
{
+ size_t
+ number_colors;
+
/*
Read PSD raster colormap.
*/
- if (AcquireImageColormap(image,(size_t) (length/3)) == MagickFalse)
+ number_colors=length/3;
+ if (number_colors > 65536)
+ ThrowReaderException(CorruptImageError,"ImproperImageHeader");
+ if (AcquireImageColormap(image,number_colors) == MagickFalse)
ThrowReaderException(ResourceLimitError,"MemoryAllocationFailed");
for (i=0; i < (ssize_t) image->colors; i++)
image->colormap[i].red=ScaleCharToQuantum((unsigned char)