From 6e7f38475ff6ac4275c95542a3fab0cc2fca9e33 Mon Sep 17 00:00:00 2001 From: Hannu Hanhi Date: Sat, 13 Jun 2020 17:07:05 +0300 Subject: [PATCH 1/2] Add missing inflateEnd to fix memory leak in W_ReadLumpHeaderPwad --- src/w_wad.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/w_wad.c b/src/w_wad.c index 54ae7fb26..d68af8f20 100644 --- a/src/w_wad.c +++ b/src/w_wad.c @@ -1314,6 +1314,7 @@ size_t W_ReadLumpHeaderPwad(UINT16 wad, UINT16 lump, void *dest, size_t size, si if (zErr == Z_STREAM_END) { M_Memcpy(dest, decData, size); + inflateEnd(&strm); } else { From fb1dae197fa73277627b01761d5c7b82fe5bba8f Mon Sep 17 00:00:00 2001 From: Hannu Hanhi Date: Sat, 13 Jun 2020 21:37:33 +0300 Subject: [PATCH 2/2] Cleaner version of the W_ReadLumpHeaderPwad memory leak fix --- src/w_wad.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/w_wad.c b/src/w_wad.c index d68af8f20..7fd7ac125 100644 --- a/src/w_wad.c +++ b/src/w_wad.c @@ -1314,14 +1314,13 @@ size_t W_ReadLumpHeaderPwad(UINT16 wad, UINT16 lump, void *dest, size_t size, si if (zErr == Z_STREAM_END) { M_Memcpy(dest, decData, size); - inflateEnd(&strm); } else { size = 0; zerr(zErr); - (void)inflateEnd(&strm); } + (void)inflateEnd(&strm); } else {