]> granicus.if.org Git - imagemagick/commitdiff
https://github.com/ImageMagick/ImageMagick/issues/1093
authorCristy <urban-warrior@imagemagick.org>
Fri, 13 Apr 2018 23:36:20 +0000 (19:36 -0400)
committerCristy <urban-warrior@imagemagick.org>
Fri, 13 Apr 2018 23:36:20 +0000 (19:36 -0400)
MagickWand/mogrify.c

index 72070009bf57ebf5e28c91ac94fafd16bd05345d..d65141ec30b1043ae8975dfaf337294c43813839 100644 (file)
@@ -8761,7 +8761,8 @@ WandExport MagickBooleanType MogrifyImageList(ImageInfo *image_info,
             Image
               *p,
               *q,
-              *swap;
+              *u,
+              *v;
 
             ssize_t
               swap_index;
@@ -8793,12 +8794,17 @@ WandExport MagickBooleanType MogrifyImageList(ImageInfo *image_info,
               }
             if (p == q)
               break;
-            swap=CloneImage(p,0,0,MagickTrue,exception);
-            if (swap == (Image *) NULL)
-              ThrowWandFatalException(ResourceLimitFatalError,
-                "MemoryAllocationFailed",(*images)->filename);
-            ReplaceImageInList(&p,CloneImage(q,0,0,MagickTrue,exception));
-            ReplaceImageInList(&q,swap);
+            u=CloneImage(p,0,0,MagickTrue,exception);
+            if (u == (Image *) NULL)
+              break;
+            v=CloneImage(q,0,0,MagickTrue,exception);
+            if (v == (Image *) NULL)
+              {
+                u=DestroyImage(u);
+                break;
+              }
+            ReplaceImageInList(&p,v);
+            ReplaceImageInList(&q,u);
             *images=GetFirstImageInList(q);
             break;
           }