fclose should be called before function exits Signed-off-by: Kai Song <songkai01@xxxxxxxxxx> --- 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 4524c8c..92a0bfd 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 addd769..91f9521 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 4e70b13..5b17740 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 e88f7f3..04377ca 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; } -- 2.27.0 _______________________________________________ kexec mailing list kexec@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/kexec