2020-10-10 07:51:52

by Ye Bin

[permalink] [raw]
Subject: [PATCH] crypto: testmgr - Fix format argument warning

Fix follow warning:
[crypto/testmgr.c:2317]: (warning) %d in format string (no. 5) requires
'int' but the argument type is 'unsigned int'.

Reported-by: Hulk Robot <[email protected]>
Signed-off-by: Ye Bin <[email protected]>
---
crypto/testmgr.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/crypto/testmgr.c b/crypto/testmgr.c
index a64a639eddfa..aefa4b6b8d78 100644
--- a/crypto/testmgr.c
+++ b/crypto/testmgr.c
@@ -2315,7 +2315,7 @@ static void generate_random_aead_testvec(struct aead_request *req,
if (vec->setkey_error == 0 && vec->setauthsize_error == 0)
generate_aead_message(req, suite, vec, prefer_inauthentic);
snprintf(name, max_namelen,
- "\"random: alen=%u plen=%u authsize=%u klen=%u novrfy=%d\"",
+ "\"random: alen=%u plen=%u authsize=%u klen=%u novrfy=%u\"",
vec->alen, vec->plen, authsize, vec->klen, vec->novrfy);
}

--
2.16.2.dirty


2020-10-10 23:07:41

by Eric Biggers

[permalink] [raw]
Subject: Re: [PATCH] crypto: testmgr - Fix format argument warning

On Sat, Oct 10, 2020 at 10:16:37AM +0800, Ye Bin wrote:
> Fix follow warning:
> [crypto/testmgr.c:2317]: (warning) %d in format string (no. 5) requires
> 'int' but the argument type is 'unsigned int'.
>
> Reported-by: Hulk Robot <[email protected]>
> Signed-off-by: Ye Bin <[email protected]>
> ---
> crypto/testmgr.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/crypto/testmgr.c b/crypto/testmgr.c
> index a64a639eddfa..aefa4b6b8d78 100644
> --- a/crypto/testmgr.c
> +++ b/crypto/testmgr.c
> @@ -2315,7 +2315,7 @@ static void generate_random_aead_testvec(struct aead_request *req,
> if (vec->setkey_error == 0 && vec->setauthsize_error == 0)
> generate_aead_message(req, suite, vec, prefer_inauthentic);
> snprintf(name, max_namelen,
> - "\"random: alen=%u plen=%u authsize=%u klen=%u novrfy=%d\"",
> + "\"random: alen=%u plen=%u authsize=%u klen=%u novrfy=%u\"",
> vec->alen, vec->plen, authsize, vec->klen, vec->novrfy);

Actually vec->novrfy is 'unsigned char', not 'unsigned int'. Both %u and %d
will work, but %d is technically correct because 'unsigned char' gets promoted
to 'int'. What tool are you using that claims this is wrong?

- Eric