From: Glenn Randers-Pehrson Date: Sun, 23 Jul 2017 15:39:33 +0000 (-0400) Subject: coders/png.c: Fixed Issue 600 X-Git-Tag: 7.0.6-3~16 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=f2994477dd4f591a578d48a40668ca31b3eef520;p=imagemagick coders/png.c: Fixed Issue 600 --- diff --git a/coders/png.c b/coders/png.c index 7e715dc6a..83303215d 100644 --- a/coders/png.c +++ b/coders/png.c @@ -2089,6 +2089,9 @@ static Image *ReadOnePNGImage(MngInfo *mng_info, QuantumInfo *volatile quantum_info; + Quantum + *volatile quantum_scanline; + ssize_t ping_rowbytes, y; @@ -2203,7 +2206,7 @@ static Image *ReadOnePNGImage(MngInfo *mng_info, { (void) LogMagickEvent(CoderEvent,GetMagickModule(), " Before reading:\n" - " image->alpha_trait=%d" + " image->alpha_trait=%d\n" " image->rendering_intent=%d\n" " image->colorspace=%d\n" " image->gamma=%f", @@ -2273,16 +2276,19 @@ static Image *ReadOnePNGImage(MngInfo *mng_info, */ png_destroy_read_struct(&ping,&ping_info,&end_info); -#ifdef IMPNG_SETJMP_NOT_THREAD_SAFE - UnlockSemaphoreInfo(ping_semaphore); -#endif - if (pixel_info != (MemoryInfo *) NULL) pixel_info=RelinquishVirtualMemory(pixel_info); if (quantum_info != (QuantumInfo *) NULL) quantum_info=DestroyQuantumInfo(quantum_info); + if (quantum_scanline != (Quantum *) NULL) + quantum_scanline=(Quantum *) RelinquishMagickMemory(quantum_scanline); + +#ifdef IMPNG_SETJMP_NOT_THREAD_SAFE + UnlockSemaphoreInfo(ping_semaphore); +#endif + if (logging != MagickFalse) (void) LogMagickEvent(CoderEvent,GetMagickModule(), " exit ReadOnePNGImage() with error."); @@ -3406,9 +3412,6 @@ static Image *ReadOnePNGImage(MngInfo *mng_info, for (pass=0; pass < num_passes; pass++) { - Quantum - *quantum_scanline; - register Quantum *r;