]> granicus.if.org Git - imagemagick/commitdiff
(no commit message)
authorcristy <urban-warrior@git.imagemagick.org>
Tue, 16 Apr 2013 19:10:51 +0000 (19:10 +0000)
committercristy <urban-warrior@git.imagemagick.org>
Tue, 16 Apr 2013 19:10:51 +0000 (19:10 +0000)
MagickCore/blob.c
MagickCore/cache.c

index 13f668afb362295eb37debcaf4671f97a71b63f1..70577427fc9581f36362cfd82fe5157bdf892950 100644 (file)
@@ -2154,6 +2154,9 @@ MagickExport unsigned char *MapBlob(int file,const MapMode mode,
   if (file == -1)
 #if defined(MAP_ANONYMOUS)
     flags|=MAP_ANONYMOUS;
+#if defined(MAGICKCORE_HAVE_HUGEPAGES) && defined(MAP_HUGETLB)
+    flags|=MAP_HUGETLB;
+#endif
 #else
     return((unsigned char *) NULL);
 #endif
index be869ab95c903400510b375b2cd4ecc335edfde1..774df519d11044d50b88ae7926f372b07edd0813 100644 (file)
@@ -3277,9 +3277,13 @@ MagickPrivate const Quantum *GetVirtualPixelsNexus(const Cache cache,
 
 static inline void AllocatePixelCachePixels(CacheInfo *cache_info)
 {
-  cache_info->mapped=MagickFalse;
-  cache_info->pixels=(Quantum *) MagickAssumeAligned(AcquireAlignedMemory(1,
-    (size_t) cache_info->length));
+  cache_info->pixels=(Quantum *) NULL;
+  if (cache_info->length < MagickMaxBufferExtent)
+    {
+      cache_info->mapped=MagickFalse;
+      cache_info->pixels=(Quantum *) MagickAssumeAligned(AcquireAlignedMemory(1,
+        (size_t) cache_info->length));
+    }
   if (cache_info->pixels == (Quantum *) NULL)
     {
       cache_info->mapped=MagickTrue;