From: cristy Date: Fri, 13 Apr 2012 18:39:13 +0000 (+0000) Subject: (no commit message) X-Git-Tag: 7.0.1-0~5818 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=7438501d033e28ec9b08932904527b8eb0a17add;p=imagemagick --- diff --git a/MagickCore/semaphore.c b/MagickCore/semaphore.c index 9c755471e..2707fbdd1 100644 --- a/MagickCore/semaphore.c +++ b/MagickCore/semaphore.c @@ -121,15 +121,26 @@ MagickExport void AcquireSemaphoreInfo(SemaphoreInfo **semaphore_info) % SemaphoreInfo *AllocateSemaphoreInfo(void) % */ + +static inline size_t MagickMax(const size_t x,const size_t y) +{ + if (x > y) + return(x); + return(y); +} + MagickExport SemaphoreInfo *AllocateSemaphoreInfo(void) { +#define AlignedSize (16*sizeof(void *)) + SemaphoreInfo *semaphore_info; /* Allocate semaphore. */ - semaphore_info=(SemaphoreInfo *) malloc(sizeof(SemaphoreInfo)); + semaphore_info=(SemaphoreInfo *) malloc(MagickMax(sizeof(*semaphore_info), + AlignedSize)); if (semaphore_info == (SemaphoreInfo *) NULL) ThrowFatalException(ResourceLimitFatalError,"MemoryAllocationFailed"); (void) ResetMagickMemory(semaphore_info,0,sizeof(SemaphoreInfo));