[PATCH] kexec:Add some necessary fclose() calls

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



[Index of Archives]     [LM Sensors]     [Linux Sound]     [ALSA Users]     [ALSA Devel]     [Linux Audio Users]     [Linux Media]     [Kernel]     [Gimp]     [Yosemite News]     [Linux Media]

  Powered by Linux