From: Cristy Date: Mon, 24 Apr 2017 15:03:23 +0000 (-0400) Subject: ... X-Git-Tag: 7.0.5-5~6 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=b2656ded2ae81661ee8535eabacadcb611f5ee29;p=imagemagick ... --- diff --git a/MagickCore/cache.c b/MagickCore/cache.c index 61a8d3c63..65eec6fd4 100644 --- a/MagickCore/cache.c +++ b/MagickCore/cache.c @@ -3785,7 +3785,7 @@ MagickExport MagickBooleanType PersistPixelCache(Image *image, *magick_restrict clone_info; Image - clone_image; + *clone_image; MagickBooleanType status; @@ -3854,8 +3854,8 @@ MagickExport MagickBooleanType PersistPixelCache(Image *image, /* Clone persistent pixel cache. */ - clone_image=(*image); - clone_info=(CacheInfo *) clone_image.cache; + clone_image=CloneImage(image,0,0,MagickTrue,exception); + clone_info=(CacheInfo *) clone_image->cache; image->cache=ClonePixelCache(cache_info); cache_info=(CacheInfo *) ReferencePixelCache(image->cache); (void) CopyMagickString(cache_info->cache_filename,filename,MagickPathExtent); @@ -3867,6 +3867,7 @@ MagickExport MagickBooleanType PersistPixelCache(Image *image, status=ClonePixelCacheRepository(cache_info,clone_info,exception); *offset+=cache_info->length+page_size-(cache_info->length % page_size); clone_info=(CacheInfo *) DestroyPixelCache(clone_info); + clone_image=DestroyImage(clone_image); return(status); } diff --git a/coders/mpc.c b/coders/mpc.c index 601cf5429..3a85d5597 100644 --- a/coders/mpc.c +++ b/coders/mpc.c @@ -1467,14 +1467,8 @@ static MagickBooleanType WriteMPCImage(const ImageInfo *image_info,Image *image, /* Initialize persistent pixel cache. */ - { - Image *clone_image=CloneImage(image,0,0,MagickTrue,exception); - if (clone_image == (Image *) NULL) - ThrowWriterException(CacheError,"UnableToPersistPixelCache"); - status=PersistPixelCache(clone_image,cache_filename,MagickFalse,&offset, - exception); - clone_image=DestroyImage(clone_image); - } + status=PersistPixelCache(image,cache_filename,MagickFalse,&offset, + exception); if (status == MagickFalse) ThrowWriterException(CacheError,"UnableToPersistPixelCache"); if (GetNextImageInList(image) == (Image *) NULL)