]> granicus.if.org Git - imagemagick/commitdiff
Fixed issue reported in #780.
authorDirk Lemstra <dirk@git.imagemagick.org>
Mon, 25 Sep 2017 08:42:16 +0000 (10:42 +0200)
committerDirk Lemstra <dirk@git.imagemagick.org>
Mon, 25 Sep 2017 08:42:16 +0000 (10:42 +0200)
MagickCore/resample-private.h

index c824c44576e871d2bd9ec0e88d18f85b234e5140..81147fefd3e1993b2d3215b2e116e9b8a1d81174 100644 (file)
@@ -55,13 +55,16 @@ static inline ResampleFilter **AcquireResampleFilterThreadSet(
   filter=(ResampleFilter **) AcquireQuantumMemory(number_threads,
     sizeof(*filter));
   if (filter == (ResampleFilter **) NULL)
-    return((ResampleFilter **) NULL);
+     ThrowFatalException(ResourceLimitFatalError,"MemoryAllocationFailed");
   (void) ResetMagickMemory(filter,0,number_threads*sizeof(*filter));
   for (i=0; i < (ssize_t) number_threads; i++)
   {
     filter[i]=AcquireResampleFilter(image,exception);
     if (filter[i] == (ResampleFilter *) NULL)
-      return(DestroyResampleFilterThreadSet(filter));
+      {
+        filter=DestroyResampleFilterThreadSet(filter);
+        ThrowFatalException(ResourceLimitFatalError,"MemoryAllocationFailed");
+      }
     if (method != UndefinedVirtualPixelMethod)
       (void) SetResampleFilterVirtualPixelMethod(filter[i],method);
     if (interpolate != MagickFalse)