From: Cristy Date: Mon, 20 Aug 2018 02:00:45 +0000 (-0400) Subject: ... X-Git-Tag: 7.0.8-11~51 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=c5b8527739d5ca43ec5d6abc17fa710267853362;p=imagemagick ... --- diff --git a/MagickCore/cache.c b/MagickCore/cache.c index 9dfea7195..c8b978ad5 100644 --- a/MagickCore/cache.c +++ b/MagickCore/cache.c @@ -610,6 +610,9 @@ static MagickBooleanType ClonePixelCacheOnDisk( if ((OpenPixelCacheOnDisk(cache_info,ReadMode) == MagickFalse) || (OpenPixelCacheOnDisk(clone_info,IOMode) == MagickFalse)) return(MagickFalse); + if ((lseek(cache_info->file,0,SEEK_SET) < 0) || + (lseek(clone_info->file,0,SEEK_SET) < 0)) + return(MagickFalse); quantum=(size_t) MagickMaxBufferExtent; if ((fstat(cache_info->file,&file_stats) == 0) && (file_stats.st_size > 0)) quantum=(size_t) MagickMin(file_stats.st_size,MagickMaxBufferExtent); @@ -1741,12 +1744,8 @@ static Cache GetImagePixelCache(Image *image,const MagickBooleanType clone, else { if (clone != MagickFalse) - { - if (cache_info->file != -1) - (void) ClosePixelCacheOnDisk(cache_info); - status=ClonePixelCacheRepository(clone_info,cache_info, - exception); - } + status=ClonePixelCacheRepository(clone_info,cache_info, + exception); if (status == MagickFalse) clone_info=(CacheInfo *) DestroyPixelCache(clone_info); else