From: cristy Date: Wed, 6 Oct 2010 02:15:05 +0000 (+0000) Subject: (no commit message) X-Git-Tag: 7.0.1-0~8742 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=ed6b55a0d1a88d8ba28ed1cff36139895c802cfd;p=imagemagick --- diff --git a/magick/quantum.c b/magick/quantum.c index 655f6a421..f8fbaf8ca 100644 --- a/magick/quantum.c +++ b/magick/quantum.c @@ -173,7 +173,7 @@ static MagickBooleanType AcquireQuantumPixels(QuantumInfo *quantum_info, return(MagickFalse); quantum_info->extent=extent; (void) ResetMagickMemory(quantum_info->pixels,0, - sizeof(*quantum_info->pixels)); + quantum_info->number_threads*sizeof(*quantum_info->pixels)); for (i=0; i < (ssize_t) quantum_info->number_threads; i++) { quantum_info->pixels[i]=(unsigned char *) AcquireQuantumMemory(extent+1, @@ -254,14 +254,16 @@ static void DestroyQuantumPixels(QuantumInfo *quantum_info) assert(quantum_info->signature == MagickSignature); assert(quantum_info->pixels != (unsigned char **) NULL); for (i=0; i < (ssize_t) quantum_info->number_threads; i++) - { - /* - Did we overrun our quantum buffer? - */ - assert(quantum_info->pixels[i][quantum_info->extent] == QuantumSignature); - quantum_info->pixels[i]=(unsigned char *) RelinquishMagickMemory( - quantum_info->pixels[i]); - } + if (quantum_info->pixels[i] != (unsigned char *) NULL) + { + /* + Did we overrun our quantum buffer? + */ + assert(quantum_info->pixels[i][quantum_info->extent] == + QuantumSignature); + quantum_info->pixels[i]=(unsigned char *) RelinquishMagickMemory( + quantum_info->pixels[i]); + } quantum_info->pixels=(unsigned char **) RelinquishMagickMemory( quantum_info->pixels); }