From bcee4f232e443053e1f6b9297716cad2488f7322 Mon Sep 17 00:00:00 2001 From: Kai Song Date: Wed, 29 Sep 2021 16:08:44 +0800 Subject: Add some necessary fclose() calls fclose should be called before function exits Signed-off-by: Kai Song Signed-off-by: Simon Horman --- kexec/arch/ppc/fixup_dtb.c | 2 ++ kexec/arch/ppc64/crashdump-ppc64.c | 1 + kexec/arch/ppc64/kexec-ppc64.c | 4 +++- kexec/symbols.c | 2 ++ 4 files changed, 8 insertions(+), 1 deletion(-) diff --git a/kexec/arch/ppc/fixup_dtb.c b/kexec/arch/ppc/fixup_dtb.c index 4524c8cc..92a0bfdb 100644 --- a/kexec/arch/ppc/fixup_dtb.c +++ b/kexec/arch/ppc/fixup_dtb.c @@ -382,6 +382,8 @@ static void save_fixed_up_dtb(char *blob_buf, off_t blob_size) } else { dbgprintf("Unable to write debug.dtb\n"); } + + fclose(fp); } else { dbgprintf("Unable to dump flat device tree to debug.dtb\n"); } diff --git a/kexec/arch/ppc64/crashdump-ppc64.c b/kexec/arch/ppc64/crashdump-ppc64.c index addd769d..91f95210 100644 --- a/kexec/arch/ppc64/crashdump-ppc64.c +++ b/kexec/arch/ppc64/crashdump-ppc64.c @@ -161,6 +161,7 @@ static int get_dyn_reconf_crash_memory_ranges(void) fprintf(stderr, "Error: Number of crash memory ranges" " excedeed the max limit\n"); + fclose(file); return -1; } diff --git a/kexec/arch/ppc64/kexec-ppc64.c b/kexec/arch/ppc64/kexec-ppc64.c index 4e70b13b..5b177408 100644 --- a/kexec/arch/ppc64/kexec-ppc64.c +++ b/kexec/arch/ppc64/kexec-ppc64.c @@ -200,8 +200,10 @@ static int get_dyn_reconf_base_ranges(void) fclose(file); return -1; } - if (nr_memory_ranges >= max_memory_ranges) + if (nr_memory_ranges >= max_memory_ranges) { + fclose(file); return -1; + } /* * If the property is ibm,dynamic-memory-v2, the first 4 bytes diff --git a/kexec/symbols.c b/kexec/symbols.c index e88f7f34..04377ca6 100644 --- a/kexec/symbols.c +++ b/kexec/symbols.c @@ -24,11 +24,13 @@ unsigned long long get_kernel_sym(const char *symbol) if (strcmp(sym, symbol) == 0) { dbgprintf("kernel symbol %s vaddr = %16llx\n", symbol, vaddr); + fclose(fp); return vaddr; } } dbgprintf("Cannot get kernel %s symbol address\n", symbol); + fclose(fp); return 0; } -- cgit 1.2.3-korg