Przeglądaj źródła

tools: mkimage: Call fclose in error path

This patch is fixing missing fclose() calls
in error patch introduced by:
"tools: mkimage: Use fstat instead of stat to avoid malicious hacks"
(sha1: ebe0f53f48e8f9ecc823e533a85b05c13638c350)

Reported-by: Coverity (CID: 155064, 155065)
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Michal Simek 8 lat temu
rodzic
commit
ac71d4103e
2 zmienionych plików z 12 dodań i 4 usunięć
  1. 6 2
      tools/zynqimage.c
  2. 6 2
      tools/zynqmpimage.c

+ 6 - 2
tools/zynqimage.c

@@ -239,11 +239,15 @@ static void zynqimage_parse_initparams(struct zynq_header *zynqhdr,
 	}
 
 	err = fstat(fileno(fp), &path_stat);
-	if (err)
+	if (err) {
+		fclose(fp);
 		return;
+	}
 
-	if (!S_ISREG(path_stat.st_mode))
+	if (!S_ISREG(path_stat.st_mode)) {
+		fclose(fp);
 		return;
+	}
 
 	do {
 		r = fscanf(fp, "%x %x", &reginit.address, &reginit.data);

+ 6 - 2
tools/zynqmpimage.c

@@ -251,11 +251,15 @@ static void zynqmpimage_parse_initparams(struct zynqmp_header *zynqhdr,
 	}
 
 	err = fstat(fileno(fp), &path_stat);
-	if (err)
+	if (err) {
+		fclose(fp);
 		return;
+	}
 
-	if (!S_ISREG(path_stat.st_mode))
+	if (!S_ISREG(path_stat.st_mode)) {
+		fclose(fp);
 		return;
+	}
 
 	do {
 		r = fscanf(fp, "%x %x", &reginit.address, &reginit.data);