]> granicus.if.org Git - imagemagick/commitdiff
More checking for length!= 0 in coders/png.c
authorGlenn Randers-Pehrson <glennrp@gmail.com>
Tue, 25 Jul 2017 18:29:36 +0000 (14:29 -0400)
committerGlenn Randers-Pehrson <glennrp@gmail.com>
Tue, 25 Jul 2017 18:29:36 +0000 (14:29 -0400)
coders/png.c

index 325a4462e9eed0d2b481a9f6502e69c53fcc0943..c4b8d01adbc3869f9f69ce7b184e55cb05c7d4b3 100644 (file)
@@ -4694,7 +4694,8 @@ static Image *ReadOneJNGImage(MngInfo *mng_info,
             image->background_color.blue=ScaleCharToQuantum(p[5]);
           }
 
-        chunk=(unsigned char *) RelinquishMagickMemory(chunk);
+        if (length != 0)
+          chunk=(unsigned char *) RelinquishMagickMemory(chunk);
         continue;
       }
 
@@ -4703,7 +4704,8 @@ static Image *ReadOneJNGImage(MngInfo *mng_info,
         if (length == 4)
           image->gamma=((float) mng_get_long(p))*0.00001;
 
-        chunk=(unsigned char *) RelinquishMagickMemory(chunk);
+        if (length != 0)
+          chunk=(unsigned char *) RelinquishMagickMemory(chunk);
         continue;
       }
 
@@ -4721,7 +4723,8 @@ static Image *ReadOneJNGImage(MngInfo *mng_info,
             image->chromaticity.blue_primary.y=0.00001*mng_get_long(&p[28]);
           }
 
-        chunk=(unsigned char *) RelinquishMagickMemory(chunk);
+        if (length != 0)
+          chunk=(unsigned char *) RelinquishMagickMemory(chunk);
         continue;
       }
 
@@ -4742,7 +4745,8 @@ static Image *ReadOneJNGImage(MngInfo *mng_info,
             image->chromaticity.white_point.y=0.3290f;
           }
 
-        chunk=(unsigned char *) RelinquishMagickMemory(chunk);
+        if (length != 0)
+          chunk=(unsigned char *) RelinquishMagickMemory(chunk);
         continue;
       }
 
@@ -4780,7 +4784,8 @@ static Image *ReadOneJNGImage(MngInfo *mng_info,
               }
           }
 
-        chunk=(unsigned char *) RelinquishMagickMemory(chunk);
+        if (length != 0)
+          chunk=(unsigned char *) RelinquishMagickMemory(chunk);
         continue;
       }