From: Cristy Date: Wed, 23 Nov 2016 20:41:26 +0000 (-0500) Subject: The -clone option no longer leaks memory X-Git-Tag: 7.0.3-8~6 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=9d2caf1d2d3bc12e0d5d2df9e5f9a104bdcf1d48;p=imagemagick The -clone option no longer leaks memory --- diff --git a/ChangeLog b/ChangeLog index 3a91976d2..c215faf83 100644 --- a/ChangeLog +++ b/ChangeLog @@ -10,6 +10,7 @@ https://github.com/ImageMagick/ImageMagick/issues/304). * Permit EPT images with just a TIFF or EPS image, not both (reference https://www.imagemagick.org/discourse-server/viewtopic.php?f=3&t=30921). + * The -clone option no longer leaks memory. 2016-11-15 7.0.3-7 Cristy * Release ImageMagick version 7.0.3-7, GIT revision 19024:87aca83:20161115. diff --git a/MagickCore/splay-tree.c b/MagickCore/splay-tree.c index 7e772cd66..6be31f7b2 100644 --- a/MagickCore/splay-tree.c +++ b/MagickCore/splay-tree.c @@ -315,7 +315,7 @@ static void BalanceSplayTree(SplayTreeInfo *splay_tree) % The format of the CloneSplayTree method is: % % SplayTreeInfo *CloneSplayTree(SplayTreeInfo *splay_tree, -% void *(*clone_key)(void *),void *(*cline_value)(void *)) +% void *(*clone_key)(void *),void *(*clone_value)(void *)) % % A description of each parameter follows: % diff --git a/MagickWand/convert.c b/MagickWand/convert.c index 71d8f7cad..5cde54202 100644 --- a/MagickWand/convert.c +++ b/MagickWand/convert.c @@ -1004,8 +1004,9 @@ WandExport MagickBooleanType ConvertImageCommand(ImageInfo *image_info, *clone_images, *clone_list; - clone_list=CloneImageList(image,exception); - if (k != 0) + if (k == 0) + clone_list=CloneImageList(image,exception); + else clone_list=CloneImageList(image_stack[k-1].image,exception); if (clone_list == (Image *) NULL) ThrowConvertException(ImageError,"ImageSequenceRequired",option); diff --git a/MagickWand/montage.c b/MagickWand/montage.c index c911a50fd..c6d0da4c1 100644 --- a/MagickWand/montage.c +++ b/MagickWand/montage.c @@ -635,8 +635,9 @@ WandExport MagickBooleanType MontageImageCommand(ImageInfo *image_info, *clone_images, *clone_list; - clone_list=CloneImageList(image,exception); - if (k != 0) + if (k == 0) + clone_list=CloneImageList(image,exception); + else clone_list=CloneImageList(image_stack[k-1].image,exception); if (clone_list == (Image *) NULL) ThrowMontageException(ImageError,"ImageSequenceRequired",option);