]> granicus.if.org Git - imagemagick/commitdiff
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=12160
authorCristy <urban-warrior@imagemagick.org>
Sun, 23 Dec 2018 01:12:17 +0000 (20:12 -0500)
committerCristy <urban-warrior@imagemagick.org>
Sun, 23 Dec 2018 01:12:17 +0000 (20:12 -0500)
coders/cube.c

index d0a8fef4e63c28174fb9d44ef2d669dda4a19c26..aa119bc486e9b1ab86396546d7710f6aae0d0963 100644 (file)
@@ -176,11 +176,17 @@ static Image *ReadCUBEImage(const ImageInfo *image_info,
         GetNextToken(q,&q,MagickPathExtent,value);
         cube_level=(size_t) StringToLong(value);
         if ((cube_level < 2) || (cube_level > 65536))
-          ThrowReaderException(CorruptImageError,"ImproperImageHeader");
+          {
+            buffer=DestroyString(buffer);
+            ThrowReaderException(CorruptImageError,"ImproperImageHeader");
+          }
         cube_info=AcquireVirtualMemory(cube_level*cube_level,cube_level*
           sizeof(*cube));
         if (cube_info == (MemoryInfo *) NULL)
-          ThrowReaderException(ResourceLimitError,"MemoryAllocationFailed");
+          {
+            buffer=DestroyString(buffer);
+            ThrowReaderException(ResourceLimitError,"MemoryAllocationFailed");
+          }
         cube=(CubePixel *) GetVirtualMemoryBlob(cube_info);
         (void) memset(cube,0,cube_level*cube_level*cube_level*sizeof(*cube));
       }