[PATCH 1/1] smbios: empty strings in smbios_add_string()

smbios_add_string() cannot deal with empty strings. This leads to incorrect property values and invalid tables. E.g. for the pine64-lts_defconfig CONFIG_SMBIOS_MANUFACTURER="". Linux command dmidecode shows:
Table 1: Manufacturer: sunxi Product Name: sunxi
Table 3: Invalid entry length (2). DMI table is broken! Stop.
Replace empty strings by "Unknown".
Signed-off-by: Heinrich Schuchardt xypron.glpk@gmx.de --- lib/smbios.c | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/lib/smbios.c b/lib/smbios.c index 7b74971f68..a8c8519dcf 100644 --- a/lib/smbios.c +++ b/lib/smbios.c @@ -31,6 +31,8 @@ static int smbios_add_string(char *start, const char *str) { int i = 1; char *p = start; + if (!*str) + str = "Unknown";
for (;;) { if (!*p) { -- 2.26.2

On Mon, 1 Jun 2020 at 07:44, Heinrich Schuchardt xypron.glpk@gmx.de wrote:
smbios_add_string() cannot deal with empty strings. This leads to incorrect property values and invalid tables. E.g. for the pine64-lts_defconfig CONFIG_SMBIOS_MANUFACTURER="". Linux command dmidecode shows:
Table 1: Manufacturer: sunxi Product Name: sunxi
Table 3: Invalid entry length (2). DMI table is broken! Stop.
Replace empty strings by "Unknown".
Signed-off-by: Heinrich Schuchardt xypron.glpk@gmx.de
lib/smbios.c | 2 ++ 1 file changed, 2 insertions(+)
Reviewed-by: Simon Glass sjg@chromium.org
participants (2)
-
Heinrich Schuchardt
-
Simon Glass