]> granicus.if.org Git - imagemagick/commitdiff
...
authorCristy <urban-warrior@imagemagick.org>
Thu, 10 Aug 2017 12:38:46 +0000 (08:38 -0400)
committerCristy <urban-warrior@imagemagick.org>
Thu, 10 Aug 2017 12:39:10 +0000 (08:39 -0400)
MagickCore/memory.c

index 2713260f4c973b86a371d36736579a83adf49dea..f839f67154bf5b5ddf4e36de9b07304d626a8c8a 100644 (file)
@@ -606,8 +606,6 @@ MagickExport MemoryInfo *AcquireVirtualMemory(const size_t count,
           value=DestroyString(value);
         }
     }
-  if ((count*quantum) > (size_t) max_memory_request)
-    return((MemoryInfo *) NULL);
   if (virtual_anonymous_memory == 0)
     {
       virtual_anonymous_memory=1;
@@ -631,7 +629,8 @@ MagickExport MemoryInfo *AcquireVirtualMemory(const size_t count,
   extent=count*quantum;
   memory_info->length=extent;
   memory_info->signature=MagickCoreSignature;
-  if (virtual_anonymous_memory == 1)
+  if ((virtual_anonymous_memory == 1) &&
+      ((count*quantum) <= (size_t) max_memory_request))
     {
       memory_info->blob=AcquireAlignedMemory(1,extent);
       if (memory_info->blob != NULL)
@@ -642,7 +641,9 @@ MagickExport MemoryInfo *AcquireVirtualMemory(const size_t count,
       /*
         Acquire anonymous memory map.
       */
-      memory_info->blob=MapBlob(-1,IOMode,0,extent);
+      memory_info->blob=NULL;
+      if ((count*quantum) <= (size_t) max_memory_request)
+        memory_info->blob=MapBlob(-1,IOMode,0,extent);
       if (memory_info->blob != NULL)
         memory_info->type=MapVirtualMemory;
       else