]> granicus.if.org Git - imagemagick/commitdiff
https://github.com/ImageMagick/ImageMagick/issues/578
authorCristy <urban-warrior@imagemagick.org>
Tue, 18 Jul 2017 17:51:06 +0000 (13:51 -0400)
committerCristy <urban-warrior@imagemagick.org>
Tue, 18 Jul 2017 17:51:06 +0000 (13:51 -0400)
coders/msl.c

index 3252a0ee8e4e14e00e40a67e38443908081a7980..15e556e480059ae454b07c7a2e212a68b3d10a50 100644 (file)
@@ -8318,14 +8318,21 @@ ModuleExport void UnregisterMSLImage(void)
 static MagickBooleanType WriteMSLImage(const ImageInfo *image_info,Image *image,
   ExceptionInfo *exception)
 {
+  Image
+    *msl_image;
+
+  MagickBooleanType
+    status;
+
   assert(image_info != (const ImageInfo *) NULL);
   assert(image_info->signature == MagickCoreSignature);
   assert(image != (Image *) NULL);
   assert(image->signature == MagickCoreSignature);
   if (image->debug != MagickFalse)
     (void) LogMagickEvent(TraceEvent,GetMagickModule(),"%s",image->filename);
-  (void) ReferenceImage(image);
-  (void) ProcessMSLScript(image_info,&image,exception);
-  return(MagickTrue);
+  msl_image=CloneImage(image,0,0,MagickTrue,exception);
+  status=ProcessMSLScript(image_info,&msl_image,exception);
+  msl_image=DestroyImage(msl_image);
+  return(status);
 }
 #endif