]> granicus.if.org Git - imagemagick/commitdiff
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=6876
authorCristy <urban-warrior@imagemagick.org>
Thu, 15 Mar 2018 00:23:35 +0000 (20:23 -0400)
committerCristy <urban-warrior@imagemagick.org>
Thu, 15 Mar 2018 00:23:35 +0000 (20:23 -0400)
coders/dcm.c

index ebace2e680d6b796aad8a653ab9292d88e93ddbd..34f79618941637a5853bf516dad4ee45e3f5b93f 100644 (file)
@@ -3881,11 +3881,21 @@ static Image *ReadDCMImage(const ImageInfo *image_info,ExceptionInfo *exception)
           }
         (void) RelinquishUniqueFileResource(filename);
       }
+      read_info=DestroyImageInfo(read_info);
       if (stream_info->offsets != (ssize_t *) NULL)
         stream_info->offsets=(ssize_t *)
           RelinquishMagickMemory(stream_info->offsets);
       stream_info=(DCMStreamInfo *) RelinquishMagickMemory(stream_info);
-      read_info=DestroyImageInfo(read_info);
+      if (info.scale != (Quantum *) NULL)
+        info.scale=(Quantum *) RelinquishMagickMemory(info.scale);
+      if (graymap != (int *) NULL)
+        graymap=(int *) RelinquishMagickMemory(graymap);
+      if (bluemap != (int *) NULL)
+        bluemap=(int *) RelinquishMagickMemory(bluemap);
+      if (greenmap != (int *) NULL)
+        greenmap=(int *) RelinquishMagickMemory(greenmap);
+      if (redmap != (int *) NULL)
+        redmap=(int *) RelinquishMagickMemory(redmap);
       image=DestroyImage(image);
       return(GetFirstImageInList(images));
     }