File ImageMagick-CVE-2019-7175.patch of Package ImageMagick.30956

Index: ImageMagick-6.8.8-1/coders/pcd.c
===================================================================
--- ImageMagick-6.8.8-1.orig/coders/pcd.c	2019-03-13 09:02:12.186237524 +0100
+++ ImageMagick-6.8.8-1/coders/pcd.c	2019-03-13 09:02:22.770286315 +0100
@@ -199,6 +199,8 @@ static MagickBooleanType DecodeImage(Ima
     if (pcd_table[i] == (PCDTable *) NULL)
       {
         buffer=(unsigned char *) RelinquishMagickMemory(buffer);
+        for (j=0; j < i; j++)
+          pcd_table[j]=(PCDTable *) RelinquishMagickMemory(pcd_table[j]);
         ThrowBinaryException(ResourceLimitError,"MemoryAllocationFailed",
           image->filename);
       }
@@ -210,6 +212,8 @@ static MagickBooleanType DecodeImage(Ima
       if (r->length > 16)
         {
           buffer=(unsigned char *) RelinquishMagickMemory(buffer);
+          for (j=0; j <= i; j++)
+            pcd_table[j]=(PCDTable *) RelinquishMagickMemory(pcd_table[j]);
           return(MagickFalse);
         }
       PCDGetBits(16);
openSUSE Build Service is sponsored by