summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLichen Liu <lichliu@redhat.com>2022-03-30 19:09:51 +0800
committerSimon Horman <horms@verge.net.au>2022-03-30 19:32:31 +0200
commit36805fe6ba339a02fa177467f753604d8cbf7b15 (patch)
tree2f6fd645ad83cfa456fbc1228379ad92d887ea99
parent1b03cf7adc3c156ecab2618acb1ec585336a3f75 (diff)
downloadkexec-tools-36805fe6ba339a02fa177467f753604d8cbf7b15.tar.gz
kexec-tools: fix leak FILE pointer.
Close fp if file size is smaller than 13 bytes. Fixes: dcfcc73c73e6 ("kexec-tools: Determine if the image is lzma commpressed") Signed-off-by: Lichen Liu <lichliu@redhat.com> Signed-off-by: Simon Horman <horms@verge.net.au>
-rw-r--r--kexec/lzma.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/kexec/lzma.c b/kexec/lzma.c
index f27cfe2..2fc07e6 100644
--- a/kexec/lzma.c
+++ b/kexec/lzma.c
@@ -170,8 +170,11 @@ int is_lzma_file(const char *filename)
const size_t size = fread(buf, 1, sizeof(buf), fp);
- if (size != 13)
+ if (size != 13) {
+ /* file is too small to be a lzma file. */
+ fclose(fp);
return 0;
+ }
lzma_filter filter = { .id = LZMA_FILTER_LZMA1 };