From 460547be494cc8c039b99b65e64a1fa2eb08ab5c Mon Sep 17 00:00:00 2001 From: cristy <cristy@aa41f4f7-0bf4-0310-aa73-e5a19afd5a74> Date: Tue, 2 Dec 2014 23:44:17 +0000 Subject: Fix corrupted (too many colors) psd file git-svn-id: https://subversion.imagemagick.org/subversion/ImageMagick/branches/ImageMagick-6@17151 aa41f4f7-0bf4-0310-aa73-e5a19afd5a74 origin: http://trac.imagemagick.org/changeset/17151 diff --git a/coders/psd.c b/coders/psd.c index d818fe3..2aff362 100644 --- a/coders/psd.c +++ b/coders/psd.c @@ -1710,10 +1710,16 @@ static Image *ReadPSDImage(const ImageInfo *image_info, } 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) -- cgit v0.10.2