]> granicus.if.org Git - imagemagick/commitdiff
...
authorCristy <urban-warrior@imagemagick.org>
Sun, 25 Nov 2018 02:43:52 +0000 (21:43 -0500)
committerCristy <urban-warrior@imagemagick.org>
Sun, 25 Nov 2018 02:43:52 +0000 (21:43 -0500)
MagickCore/enhance.c

index 56497db7dde187a07158fd8ecf0a52aac8c910ad..c2c5de6e7d941f869251e5472825a7bcbc8cf4d6 100644 (file)
@@ -629,14 +629,14 @@ MagickExport MagickBooleanType CLAHEImage(Image *image,const size_t x_tiles,
   OffsetInfo
     tile;
 
-  ssize_t
-    y;
-
   size_t
     height,
     n,
     width;
 
+  ssize_t
+    y;
+
   unsigned short
     *pixels;
 
@@ -651,16 +651,20 @@ MagickExport MagickBooleanType CLAHEImage(Image *image,const size_t x_tiles,
   if (TransformImageColorspace(image,LabColorspace,exception) == MagickFalse)
     return(MagickFalse);
   status=MagickTrue;
-  tile.x=(ssize_t) (x_tiles < 2 ? 2 : x_tiles >= MaxCLAHETiles ?
-    MaxCLAHETiles-1 : x_tiles);
-  tile.y=(ssize_t) (y_tiles < 2 ? 2 : y_tiles >= MaxCLAHETiles ?
-    MaxCLAHETiles-1 : y_tiles);
+  tile.x=(ssize_t) (x_tiles < 2 ? 2 : x_tiles >= MaxCLAHETiles ? MaxCLAHETiles-
+    1 : x_tiles);
+  tile.y=(ssize_t) (y_tiles < 2 ? 2 : y_tiles >= MaxCLAHETiles ? MaxCLAHETiles-
+    1 : y_tiles);
   width=((image->columns+tile.x/2)/tile.x)*tile.x;
   height=((image->rows+tile.y/2)/tile.y)*tile.y;
   pixel_cache=AcquireVirtualMemory(width,height*sizeof(*pixels));
   if (pixel_cache == (MemoryInfo *) NULL)
-    ThrowBinaryException(ResourceLimitError,"MemoryAllocationFailed",
-      image->filename);
+    {
+      if (TransformImageColorspace(image,colorspace,exception) == MagickFalse)
+        return(MagickFalse);
+      ThrowBinaryException(ResourceLimitError,"MemoryAllocationFailed",
+        image->filename);
+    }
   pixels=(unsigned short *) GetVirtualMemoryBlob(pixel_cache);
   image_view=AcquireVirtualCacheView(image,exception);
   n=0;