lib: -Wformat-truncation in rsa_engine_get_priv_key
authorHeinrich Schuchardt <heinrich.schuchardt@canonical.com>
Fri, 30 Jul 2021 15:05:07 +0000 (17:05 +0200)
committerTom Rini <trini@konsulko.com>
Wed, 1 Sep 2021 23:25:37 +0000 (19:25 -0400)
With glibc 2.33 (Ubuntu package glibc6 2.33-0ubuntu9) building
sifive_unmatched_defconfig results in:

In file included from /usr/include/stdio.h:866,
                  from ././include/compiler.h:26,
                  from <command-line>:
In function ‘snprintf’,
     inlined from ‘rsa_engine_get_priv_key’ at ./tools/../^:273:4:
/usr/include/riscv64-linux-gnu/bits/stdio2.h:71:10: warning:
‘%s’ directive argument is null [-Wformat-truncation=]
    71 |   return __builtin___snprintf_chk (__s, __n,
__USE_FORTIFY_LEVEL - 1,
       |
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    72 |        __glibc_objsize (__s), __fmt,
       |        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    73 |        __va_arg_pack ());
       |        ~~~~~~~~~~~~~~~~~

Avoid passing a NULL string.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
lib/rsa/rsa-sign.c

index 3bc2824..64db142 100644 (file)
@@ -254,7 +254,7 @@ static int rsa_engine_get_priv_key(const char *keydir, const char *name,
                else if (keydir)
                        snprintf(key_id, sizeof(key_id),
                                 "%s",
-                                name);
+                                name ? name : "");
                else if (keyfile)
                        snprintf(key_id, sizeof(key_id), "%s", keyfile);
                else