From patchwork Mon Jun 1 13:44:00 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Heinrich Schuchardt X-Patchwork-Id: 241466 List-Id: U-Boot discussion From: xypron.glpk at gmx.de (Heinrich Schuchardt) Date: Mon, 1 Jun 2020 15:44:00 +0200 Subject: [PATCH 1/1] smbios: empty strings in smbios_add_string() Message-ID: <20200601134400.18273-1-xypron.glpk@gmx.de> 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 Reviewed-by: Simon Glass --- lib/smbios.c | 2 ++ 1 file changed, 2 insertions(+) -- 2.26.2 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) {