From: Vladimir Sementsov-Ogievskiy Date: Thu, 27 Jun 2024 16:25:07 +0000 (+0300) Subject: hw/core/loader: gunzip(): fix memory leak on error path X-Git-Tag: qemu-xen-4.20.0~96^2 X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=f22855dffdbc2906f744b5bcfea869cbb66b8fb2;p=qemu-xen.git 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: Vladimir Sementsov-Ogievskiy Reviewed-by: Michael Tokarev Signed-off-by: Michael Tokarev --- diff --git a/hw/core/loader.c b/hw/core/loader.c index 2f8105d7de..a3bea1e718 100644 --- a/hw/core/loader.c +++ b/hw/core/loader.c @@ -610,6 +610,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;