From: Cristy Date: Thu, 29 Nov 2018 19:36:35 +0000 (-0500) Subject: ... X-Git-Tag: 7.0.8-15~15 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=6d6907621827f595b293780ae764342c45eafc87;p=imagemagick ... --- diff --git a/MagickCore/enhance.c b/MagickCore/enhance.c index 56407b9c4..1ebc6431f 100644 --- a/MagickCore/enhance.c +++ b/MagickCore/enhance.c @@ -652,8 +652,8 @@ MagickExport MagickBooleanType CLAHEImage(Image *image,const size_t x_tiles, 1 : x_tiles); tile.y=(ssize_t) (y_tiles < 2 ? 2 : y_tiles >= MaxCLAHETiles ? MaxCLAHETiles- 1 : y_tiles); - width=((image->columns+tile.x/2+1)/tile.x)*tile.x; - height=((image->rows+tile.y/2+1)/tile.y)*tile.y; + width=((image->columns+tile.x-1)/tile.x)*tile.x; + height=((image->rows+tile.y-1)/tile.y)*tile.y; pixel_cache=AcquireVirtualMemory(width,height*sizeof(*pixels)); if (pixel_cache == (MemoryInfo *) NULL) ThrowBinaryException(ResourceLimitError,"MemoryAllocationFailed", @@ -683,7 +683,7 @@ MagickExport MagickBooleanType CLAHEImage(Image *image,const size_t x_tiles, status=MagickFalse; continue; } - for (x=0; x < (ssize_t) image->columns; x++) + for (x=0; x < (ssize_t) width; x++) { pixels[n++]=ScaleQuantumToShort(p[0]); p+=GetPixelChannels(image); @@ -733,6 +733,7 @@ MagickExport MagickBooleanType CLAHEImage(Image *image,const size_t x_tiles, q[0]=ScaleShortToQuantum(pixels[n++]); q+=GetPixelChannels(image); } + n+=(width-image->columns); if (SyncCacheViewAuthenticPixels(image_view,exception) == MagickFalse) status=MagickFalse; if (image->progress_monitor != (MagickProgressMonitor) NULL)