diff options
author | Peng Fan <peng.fan@nxp.com> | 2016-11-04 10:33:15 +0800 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2016-11-05 07:27:44 -0400 |
commit | 2a380cccc27e3964621f74f935cdcafbc21bbe35 (patch) | |
tree | 7799aabb6aa8f5e9652fde42a889a4d98e7de91e | |
parent | ae3de0d8caf1822da076b2cc947ea89a0b560e05 (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.c | 9 |
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, |