]> granicus.if.org Git - imagemagick/commitdiff
Fixed memory leak.
authordirk <dirk@git.imagemagick.org>
Sat, 24 Jan 2015 13:10:18 +0000 (13:10 +0000)
committerdirk <dirk@git.imagemagick.org>
Sat, 24 Jan 2015 13:10:18 +0000 (13:10 +0000)
coders/svg.c

index 66601e2de20947f08fc51558c39702670dee2999..573643acd0a5ed9b95ad593d9930e685072c4c8c 100644 (file)
@@ -3524,6 +3524,10 @@ static MagickBooleanType TraceSVGImage(Image *image,ExceptionInfo *exception)
     blob_length=2048;
     blob=(unsigned char *) ImageToBlob(image_info,clone_image,&blob_length,
       exception);
+    clone_image=DestroyImage(clone_image);
+    image_info=DestroyImageInfo(image_info);
+    if (blob == (unsigned char *) NULL)
+      return(MagickFalse);
     encode_length=0;
     base64=Base64Encode(blob,blob_length,&encode_length);
     blob=(unsigned char *) RelinquishMagickMemory(blob);
@@ -3542,6 +3546,7 @@ static MagickBooleanType TraceSVGImage(Image *image,ExceptionInfo *exception)
       if (i > 76)
         (void) WriteBlobString(image,"\n");
     }
+    base64=DestroyString(base64);
     (void) WriteBlobString(image,"\" />\n");
     (void) WriteBlobString(image,"</svg>\n");
   }