From: Peng Fan <peng.fan@nxp.com>
Date: Fri, 4 Nov 2016 02:33:15 +0000 (+0800)
Subject: tools: imximage: check return value when open the plugin file
X-Git-Tag: v2025.01-rc5-pxa1908~8223
X-Git-Url: http://git.dujemihanovic.xyz/login.html?a=commitdiff_plain;h=2a380cccc27e3964621f74f935cdcafbc21bbe35;p=u-boot.git

tools: imximage: check return value when open the plugin file

Check return value when open the plugin file.

Coverity report:
** CID 153926:  Error handling issues  (NEGATIVE_RETURNS)
/tools/imximage.c: 542 in copy_plugin_code()

   ifd = open(plugin_file, O_RDONLY|O_BINARY);
>>>  CID 153926:  Error handling issues  (NEGATIVE_RETURNS)
>>> "ifd" is passed to a parameter that cannot be negative.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Tom Rini <trini@konsulko.com>
Reported-by: Coverity (CID: 153926)
Reviewed-by: Tom Rini <trini@konsulko.com>
---

diff --git a/tools/imximage.c b/tools/imximage.c
index 615a64e727..c9e42ec5ca 100644
--- a/tools/imximage.c
+++ b/tools/imximage.c
@@ -533,12 +533,19 @@ static void print_hdr_v2(struct imx_header *imx_hdr)
 
 static void copy_plugin_code(struct imx_header *imxhdr, char *plugin_file)
 {
-	int ifd = -1;
+	int ifd;
 	struct stat sbuf;
 	char *plugin_buf = imxhdr->header.hdr_v2.data.plugin_code;
 	char *ptr;
 
 	ifd = open(plugin_file, O_RDONLY|O_BINARY);
+	if (ifd < 0) {
+		fprintf(stderr, "Can't open %s: %s\n",
+			plugin_file,
+			strerror(errno));
+		exit(EXIT_FAILURE);
+	}
+
 	if (fstat(ifd, &sbuf) < 0) {
 		fprintf(stderr, "Can't stat %s: %s\n",
 			plugin_file,