Sophie

Sophie

distrib > Mageia > 5 > x86_64 > by-pkgid > 857b723175ea1d5f45c5b31f25037f76 > files > 21

imagemagick-6.8.9.9-4.2.mga5.src.rpm

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