From: cristy Date: Tue, 14 Feb 2012 12:44:17 +0000 (+0000) Subject: (no commit message) X-Git-Tag: 7.0.1-0~6182 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=e5f87c837b44ebc7cbca208e0752adc997d9dfe8;p=imagemagick --- diff --git a/MagickCore/cache.c b/MagickCore/cache.c index de85fc337..2622375ab 100644 --- a/MagickCore/cache.c +++ b/MagickCore/cache.c @@ -242,12 +242,14 @@ MagickPrivate NexusInfo **AcquirePixelCacheNexus(const size_t number_threads) sizeof(*nexus_info)); if (nexus_info == (NexusInfo **) NULL) ThrowFatalException(ResourceLimitFatalError,"MemoryAllocationFailed"); + nexus_info[0]=(NexusInfo *) AcquireQuantumMemory(number_threads, + sizeof(**nexus_info)); + if (nexus_info[0] == (NexusInfo *) NULL) + ThrowFatalException(ResourceLimitFatalError,"MemoryAllocationFailed"); + (void) ResetMagickMemory(nexus_info[0],0,number_threads*sizeof(**nexus_info)); for (i=0; i < (ssize_t) number_threads; i++) { - nexus_info[i]=(NexusInfo *) AcquireQuantumMemory(1,sizeof(**nexus_info)); - if (nexus_info[i] == (NexusInfo *) NULL) - ThrowFatalException(ResourceLimitFatalError,"MemoryAllocationFailed"); - (void) ResetMagickMemory(nexus_info[i],0,sizeof(*nexus_info[i])); + nexus_info[i]=(&nexus_info[0][i]); nexus_info[i]->signature=MagickSignature; } return(nexus_info); @@ -1340,8 +1342,8 @@ MagickPrivate NexusInfo **DestroyPixelCacheNexus(NexusInfo **nexus_info, if (nexus_info[i]->cache != (Quantum *) NULL) RelinquishCacheNexusPixels(nexus_info[i]); nexus_info[i]->signature=(~MagickSignature); - nexus_info[i]=(NexusInfo *) RelinquishMagickMemory(nexus_info[i]); } + nexus_info[0]=(NexusInfo *) RelinquishMagickMemory(nexus_info[0]); nexus_info=(NexusInfo **) RelinquishMagickMemory(nexus_info); return(nexus_info); }