]> granicus.if.org Git - imagemagick/commitdiff
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=6778
authorCristy <urban-warrior@imagemagick.org>
Wed, 7 Mar 2018 23:00:59 +0000 (18:00 -0500)
committerCristy <urban-warrior@imagemagick.org>
Wed, 7 Mar 2018 23:00:59 +0000 (18:00 -0500)
coders/dcm.c

index 7de8e5f65c3ba1839c7d68e50d911bf6ccffc38c..8c155c2de45694215f92c25529bd42445635a99a 100644 (file)
@@ -2981,6 +2981,8 @@ static Image *ReadDCMImage(const ImageInfo *image_info,ExceptionInfo *exception)
 {
 #define ThrowDCMException(exception,message) \
 { \
+  if (info.scale != (Quantum *) NULL) \
+    info.scale=(Quantum *) RelinquishMagickMemory(info.scale); \
   if (data != (unsigned char *) NULL) \
     data=(unsigned char *) RelinquishMagickMemory(data); \
   if (graymap != (int *) NULL) \
@@ -4037,8 +4039,6 @@ static Image *ReadDCMImage(const ImageInfo *image_info,ExceptionInfo *exception)
             if (stream_info->offsets != (ssize_t *) NULL)
               stream_info->offsets=(ssize_t *)
                 RelinquishMagickMemory(stream_info->offsets);
-            if (info.scale != (Quantum *) NULL)
-              info.scale=(Quantum *) RelinquishMagickMemory(info.scale);
             ThrowDCMException(CorruptImageError,"ImproperImageHeader");
           }
         stream_info->count=0;