[U-Boot] [PATCH] tools: kwbimage: Fix unchecked return value and fd leak
Stefan Roese
sr at denx.de
Fri Feb 17 11:53:35 UTC 2017
On 13.02.2017 10:11, Mario Six wrote:
> The return value of fstat was not checked in kwbimage, and in the case
> of an error, the already open file was not closed. Fix both errors.
>
> Reported-by: Coverity (CID: 155971)
> Reported-by: Coverity (CID: 155969)
> Signed-off-by: Mario Six <mario.six at gdsys.cc>
> ---
> tools/kwbimage.c | 13 +++++++++++--
> 1 file changed, 11 insertions(+), 2 deletions(-)
>
> diff --git a/tools/kwbimage.c b/tools/kwbimage.c
> index 93797c99da..2c637c7446 100644
> --- a/tools/kwbimage.c
> +++ b/tools/kwbimage.c
> @@ -992,7 +992,11 @@ int add_binary_header_v1(uint8_t *cur)
> return -1;
> }
>
> - fstat(fileno(bin), &s);
> + if (fstat(fileno(bin), &s)) {
> + fprintf(stderr, "Cannot stat binary file %s\n",
> + binarye->binary.file);
> + goto err_close;
> + }
>
> binhdrsz = sizeof(struct opt_hdr_v1) +
> (binarye->binary.nargs + 2) * sizeof(uint32_t) +
> @@ -1022,7 +1026,7 @@ int add_binary_header_v1(uint8_t *cur)
> fprintf(stderr,
> "Could not read binary image %s\n",
> binarye->binary.file);
> - return -1;
> + goto err_close;
> }
>
> fclose(bin);
> @@ -1040,6 +1044,11 @@ int add_binary_header_v1(uint8_t *cur)
> cur += sizeof(uint32_t);
>
> return 0;
> +
> +err_close:
> + fclose(bin);
> +
> + return -1;
> }
>
> #if defined(CONFIG_KWB_SECURE)
>
Applied to u-boot-marvell/master
Thanks,
Stefan
More information about the U-Boot
mailing list