From: cristy Date: Sat, 26 Jan 2013 02:49:22 +0000 (+0000) Subject: (no commit message) X-Git-Tag: 7.0.1-0~4352 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=77ca77459f8c120861f2c55a066910883c8f443a;p=imagemagick --- diff --git a/MagickCore/cache.c b/MagickCore/cache.c index 8db2469a3..66e9f672c 100644 --- a/MagickCore/cache.c +++ b/MagickCore/cache.c @@ -4246,7 +4246,14 @@ static MagickBooleanType ReadPixelCacheMetacontent(CacheInfo *cache_info, */ LockSemaphoreInfo(cache_info->file_semaphore); region=nexus_info->region; - region.height=1UL; + if ((cache_info->columns != nexus_info->region.width) || + (extent > MagickMaxBufferExtent)) + region.height=1UL; + else + { + length=extent; + rows=1UL; + } for (y=0; y < (ssize_t) rows; y++) { count=ReadDistributePixelCachePixels(cache_info->server_info,®ion, @@ -4404,7 +4411,14 @@ static MagickBooleanType ReadPixelCachePixels(CacheInfo *cache_info, */ LockSemaphoreInfo(cache_info->file_semaphore); region=nexus_info->region; - region.height=1UL; + if ((cache_info->columns != nexus_info->region.width) || + (extent > MagickMaxBufferExtent)) + region.height=1UL; + else + { + length=extent; + rows=1UL; + } for (y=0; y < (ssize_t) rows; y++) { count=ReadDistributePixelCachePixels(cache_info->server_info,®ion, @@ -5185,7 +5199,14 @@ static MagickBooleanType WritePixelCacheMetacontent(CacheInfo *cache_info, */ LockSemaphoreInfo(cache_info->file_semaphore); region=nexus_info->region; - region.height=1UL; + if ((cache_info->columns != nexus_info->region.width) || + (extent > MagickMaxBufferExtent)) + region.height=1UL; + else + { + length=extent; + rows=1UL; + } for (y=0; y < (ssize_t) rows; y++) { count=WriteDistributePixelCachePixels(cache_info->server_info,®ion, @@ -5344,7 +5365,14 @@ static MagickBooleanType WritePixelCachePixels(CacheInfo *cache_info, */ LockSemaphoreInfo(cache_info->file_semaphore); region=nexus_info->region; - region.height=1UL; + if ((cache_info->columns != nexus_info->region.width) || + (extent > MagickMaxBufferExtent)) + region.height=1UL; + else + { + length=extent; + rows=1UL; + } for (y=0; y < (ssize_t) rows; y++) { count=WriteDistributePixelCachePixels(cache_info->server_info,®ion,