From d4eaff6b84292ca0231505c4aba8cc6b55df79e3 Mon Sep 17 00:00:00 2001 From: qiuguorui1 Date: Mon, 30 Nov 2020 14:41:25 +0800 Subject: zlib: fix resource leak when gzdirect failed In function zlib_decompress_file, when gzdirect(fp) fails, we should gzclose fp before return. Fixes: d606837b56d46 ("Fix zlib/lzma decompression.") Signed-off-by: qiuguorui1 Signed-off-by: Simon Horman --- kexec/zlib.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/kexec/zlib.c b/kexec/zlib.c index 9bc340d8..3ed6bd63 100644 --- a/kexec/zlib.c +++ b/kexec/zlib.c @@ -60,7 +60,7 @@ char *zlib_decompress_file(const char *filename, off_t *r_size) gzFile fp; int errnum; const char *msg; - char *buf; + char *buf = NULL; off_t size = 0, allocated; ssize_t result; @@ -78,7 +78,7 @@ char *zlib_decompress_file(const char *filename, off_t *r_size) } if (gzdirect(fp)) { /* It's not in gzip format */ - return NULL; + goto fail; } allocated = 65536; buf = xmalloc(allocated); -- cgit 1.2.3-korg