From 6d6fc5ae0c920e2ad9e01a3320f3529c7bad977f Mon Sep 17 00:00:00 2001 From: jipengfei_yewu Date: Mon, 9 Sep 2024 20:14:09 +0800 Subject: [PATCH] hw/core/loader: gunzip(): fix memory leak on error path We should call inflateEnd() like on success path to cleanup state in s variable. Signed-off-by:jipengfei_yewu Signed-off-by: Vladimir Sementsov-Ogievskiy Reviewed-by: Michael Tokarev Signed-off-by: Michael Tokarev --- hw/core/loader.c | 1 + 1 file changed, 1 insertion(+) diff --git a/hw/core/loader.c b/hw/core/loader.c index 19edb928e9..8389860679 100644 --- a/hw/core/loader.c +++ b/hw/core/loader.c @@ -605,6 +605,7 @@ ssize_t gunzip(void *dst, size_t dstlen, uint8_t *src, size_t srclen) r = inflate(&s, Z_FINISH); if (r != Z_OK && r != Z_STREAM_END) { printf ("Error: inflate() returned %d\n", r); + inflateEnd(&s); return -1; } dstbytes = s.next_out - (unsigned char *) dst; -- Gitee