diff mbox series

[1/1] kwbimage: check fopen() return value

Message ID 20210817050320.11983-1-xypron.glpk@gmx.de
State Accepted
Commit f858bb2e6c191da3981838937950cb3c98e488fe
Delegated to: Stefan Roese
Headers show
Series [1/1] kwbimage: check fopen() return value | expand

Commit Message

Heinrich Schuchardt Aug. 17, 2021, 5:03 a.m. UTC
Always check the return value of fopen().

This resolves Coverity CID 338491:
Null pointer dereferences (NULL_RETURNS)

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
---
 tools/kwbimage.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

--
2.30.2

Comments

Stefan Roese Aug. 17, 2021, 6:46 a.m. UTC | #1
On 17.08.21 07:03, Heinrich Schuchardt wrote:
> Always check the return value of fopen().
> 
> This resolves Coverity CID 338491:
> Null pointer dereferences (NULL_RETURNS)
> 
> Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>

Reviewed-by: Stefan Roese <sr@denx.de>

Thanks,
Stefan

> ---
>   tools/kwbimage.c | 11 +++++++++++
>   1 file changed, 11 insertions(+)
> 
> diff --git a/tools/kwbimage.c b/tools/kwbimage.c
> index 00cb338d64..2a10df773b 100644
> --- a/tools/kwbimage.c
> +++ b/tools/kwbimage.c
> @@ -832,6 +832,12 @@ static int kwb_dump_fuse_cmds(struct secure_hdr_v1 *sec_hdr)
>   	if (!strcmp(e->name, "a38x")) {
>   		FILE *out = fopen("kwb_fuses_a38x.txt", "w+");
> 
> +		if (!out) {
> +			fprintf(stderr, "Couldn't open eFuse settings: '%s': %s\n",
> +				"kwb_fuses_a38x.txt", strerror(errno));
> +			return -ENOENT;
> +		}
> +
>   		kwb_dump_fuse_cmds_38x(out, sec_hdr);
>   		fclose(out);
>   		goto done;
> @@ -1060,6 +1066,11 @@ int export_pub_kak_hash(RSA *kak, struct secure_hdr_v1 *secure_hdr)
>   	int res;
> 
>   	hashf = fopen("pub_kak_hash.txt", "w");
> +	if (!hashf) {
> +		fprintf(stderr, "Couldn't open hash file: '%s': %s\n",
> +			"pub_kak_hash.txt", strerror(errno));
> +		return 1;
> +	}
> 
>   	res = kwb_export_pubkey(kak, &secure_hdr->kak, hashf, "KAK");
> 
> --
> 2.30.2
> 


Viele Grüße,
Stefan
Pali Rohár Aug. 17, 2021, 8:31 a.m. UTC | #2
On Tuesday 17 August 2021 07:03:20 Heinrich Schuchardt wrote:
> Always check the return value of fopen().
> 
> This resolves Coverity CID 338491:
> Null pointer dereferences (NULL_RETURNS)
> 
> Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>

Reviewed-by: Pali Rohár <pali@kernel.org>

> ---
>  tools/kwbimage.c | 11 +++++++++++
>  1 file changed, 11 insertions(+)
> 
> diff --git a/tools/kwbimage.c b/tools/kwbimage.c
> index 00cb338d64..2a10df773b 100644
> --- a/tools/kwbimage.c
> +++ b/tools/kwbimage.c
> @@ -832,6 +832,12 @@ static int kwb_dump_fuse_cmds(struct secure_hdr_v1 *sec_hdr)
>  	if (!strcmp(e->name, "a38x")) {
>  		FILE *out = fopen("kwb_fuses_a38x.txt", "w+");
> 
> +		if (!out) {
> +			fprintf(stderr, "Couldn't open eFuse settings: '%s': %s\n",
> +				"kwb_fuses_a38x.txt", strerror(errno));
> +			return -ENOENT;
> +		}
> +
>  		kwb_dump_fuse_cmds_38x(out, sec_hdr);
>  		fclose(out);
>  		goto done;
> @@ -1060,6 +1066,11 @@ int export_pub_kak_hash(RSA *kak, struct secure_hdr_v1 *secure_hdr)
>  	int res;
> 
>  	hashf = fopen("pub_kak_hash.txt", "w");
> +	if (!hashf) {
> +		fprintf(stderr, "Couldn't open hash file: '%s': %s\n",
> +			"pub_kak_hash.txt", strerror(errno));
> +		return 1;
> +	}
> 
>  	res = kwb_export_pubkey(kak, &secure_hdr->kak, hashf, "KAK");
> 
> --
> 2.30.2
>
Stefan Roese Sept. 1, 2021, 9:14 a.m. UTC | #3
On 17.08.21 07:03, Heinrich Schuchardt wrote:
> Always check the return value of fopen().
> 
> This resolves Coverity CID 338491:
> Null pointer dereferences (NULL_RETURNS)
> 
> Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>

Applied to u-boot-marvell/master

Thanks,
Stefan

> ---
>   tools/kwbimage.c | 11 +++++++++++
>   1 file changed, 11 insertions(+)
> 
> diff --git a/tools/kwbimage.c b/tools/kwbimage.c
> index 00cb338d64..2a10df773b 100644
> --- a/tools/kwbimage.c
> +++ b/tools/kwbimage.c
> @@ -832,6 +832,12 @@ static int kwb_dump_fuse_cmds(struct secure_hdr_v1 *sec_hdr)
>   	if (!strcmp(e->name, "a38x")) {
>   		FILE *out = fopen("kwb_fuses_a38x.txt", "w+");
> 
> +		if (!out) {
> +			fprintf(stderr, "Couldn't open eFuse settings: '%s': %s\n",
> +				"kwb_fuses_a38x.txt", strerror(errno));
> +			return -ENOENT;
> +		}
> +
>   		kwb_dump_fuse_cmds_38x(out, sec_hdr);
>   		fclose(out);
>   		goto done;
> @@ -1060,6 +1066,11 @@ int export_pub_kak_hash(RSA *kak, struct secure_hdr_v1 *secure_hdr)
>   	int res;
> 
>   	hashf = fopen("pub_kak_hash.txt", "w");
> +	if (!hashf) {
> +		fprintf(stderr, "Couldn't open hash file: '%s': %s\n",
> +			"pub_kak_hash.txt", strerror(errno));
> +		return 1;
> +	}
> 
>   	res = kwb_export_pubkey(kak, &secure_hdr->kak, hashf, "KAK");
> 
> --
> 2.30.2
> 


Viele Grüße,
Stefan
diff mbox series

Patch

diff --git a/tools/kwbimage.c b/tools/kwbimage.c
index 00cb338d64..2a10df773b 100644
--- a/tools/kwbimage.c
+++ b/tools/kwbimage.c
@@ -832,6 +832,12 @@  static int kwb_dump_fuse_cmds(struct secure_hdr_v1 *sec_hdr)
 	if (!strcmp(e->name, "a38x")) {
 		FILE *out = fopen("kwb_fuses_a38x.txt", "w+");

+		if (!out) {
+			fprintf(stderr, "Couldn't open eFuse settings: '%s': %s\n",
+				"kwb_fuses_a38x.txt", strerror(errno));
+			return -ENOENT;
+		}
+
 		kwb_dump_fuse_cmds_38x(out, sec_hdr);
 		fclose(out);
 		goto done;
@@ -1060,6 +1066,11 @@  int export_pub_kak_hash(RSA *kak, struct secure_hdr_v1 *secure_hdr)
 	int res;

 	hashf = fopen("pub_kak_hash.txt", "w");
+	if (!hashf) {
+		fprintf(stderr, "Couldn't open hash file: '%s': %s\n",
+			"pub_kak_hash.txt", strerror(errno));
+		return 1;
+	}

 	res = kwb_export_pubkey(kak, &secure_hdr->kak, hashf, "KAK");