summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeng Fan <peng.fan@nxp.com>2016-11-04 10:33:15 +0800
committerTom Rini <trini@konsulko.com>2016-11-05 07:27:44 -0400
commit2a380cccc27e3964621f74f935cdcafbc21bbe35 (patch)
tree7799aabb6aa8f5e9652fde42a889a4d98e7de91e
parentae3de0d8caf1822da076b2cc947ea89a0b560e05 (diff)
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>
-rw-r--r--tools/imximage.c9
1 files changed, 8 insertions, 1 deletions
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,