diff options
author | Lichen Liu <lichliu@redhat.com> | 2022-03-30 19:09:51 +0800 |
---|---|---|
committer | Simon Horman <horms@verge.net.au> | 2022-03-30 19:32:31 +0200 |
commit | 36805fe6ba339a02fa177467f753604d8cbf7b15 (patch) | |
tree | 2f6fd645ad83cfa456fbc1228379ad92d887ea99 /kexec | |
parent | 1b03cf7adc3c156ecab2618acb1ec585336a3f75 (diff) |
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>
Diffstat (limited to 'kexec')
-rw-r--r-- | kexec/lzma.c | 5 |
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 }; |