From 2b0d9452521d8f5138a13f904ceef2911f9c7b38 Mon Sep 17 00:00:00 2001 From: Sven Baars Date: Thu, 24 Jan 2019 11:59:48 +0100 Subject: [PATCH] windowscodecs: Fix a memory leak (Valgrind). Signed-off-by: Sven Baars Signed-off-by: Vincent Povirk Signed-off-by: Alexandre Julliard (cherry picked from commit 1f132865ec21a644071a04558c116e73c3a62a19) Signed-off-by: Michael Stefaniuc --- dlls/windowscodecs/pngformat.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/dlls/windowscodecs/pngformat.c b/dlls/windowscodecs/pngformat.c index 7050c95121b..faffeae6ae5 100644 --- a/dlls/windowscodecs/pngformat.c +++ b/dlls/windowscodecs/pngformat.c @@ -620,7 +620,6 @@ static HRESULT WINAPI PngDecoder_Initialize(IWICBitmapDecoder *iface, IStream *p if (setjmp(jmpbuf)) { ppng_destroy_read_struct(&This->png_ptr, &This->info_ptr, &This->end_info); - HeapFree(GetProcessHeap(), 0, row_pointers); This->png_ptr = NULL; hr = WINCODEC_ERR_UNKNOWNIMAGEFORMAT; goto end; @@ -816,6 +815,9 @@ static HRESULT WINAPI PngDecoder_Initialize(IWICBitmapDecoder *iface, IStream *p end: LeaveCriticalSection(&This->lock); + if (row_pointers) + HeapFree(GetProcessHeap(), 0, row_pointers); + return hr; }