File GraphicsMagick-CVE-2016-9830.patch of Package GraphicsMagick.7893

Index: GraphicsMagick-1.3.25/coders/png.c
===================================================================
--- GraphicsMagick-1.3.25.orig/coders/png.c	2016-05-30 19:19:54.000000000 +0200
+++ GraphicsMagick-1.3.25/coders/png.c	2016-12-13 13:15:17.809327909 +0100
@@ -2791,6 +2791,10 @@ static Image *ReadOneJNGImage(MngInfo *m
     jng_height,
     jng_width;
 
+  magick_int64_t
+    height_resource,
+    width_resource;
+
   png_byte
     jng_color_type,
     jng_image_sample_depth,
@@ -2857,6 +2861,10 @@ static Image *ReadOneJNGImage(MngInfo *m
 
   read_JSEP=MagickFalse;
   reading_idat=MagickFalse;
+
+  width_resource = GetMagickResourceLimit(WidthResource);
+  height_resource = GetMagickResourceLimit(HeightResource);
+
   for (;;)
     {
       char
@@ -3126,6 +3134,11 @@ static Image *ReadOneJNGImage(MngInfo *m
             }
           if (length)
             MagickFreeMemory(chunk);
+
+
+          SetMagickResourceLimit(WidthResource,jng_width);
+          SetMagickResourceLimit(HeightResource,jng_height);
+
           continue;
         }
 
@@ -3421,6 +3434,10 @@ static Image *ReadOneJNGImage(MngInfo *m
   if (logging)
     (void) LogMagickEvent(CoderEvent,GetMagickModule(),
                           "  exit ReadOneJNGImage()");
+
+  SetMagickResourceLimit(WidthResource,width_resource);
+  SetMagickResourceLimit(HeightResource,height_resource);
+
   return (image);
 }
 
openSUSE Build Service is sponsored by