Message ID | 20200601134400.18273-1-xypron.glpk@gmx.de |
---|---|
State | Accepted |
Commit | 00a871d34e2f0a12eec4da9c297588026ce55b9a |
Headers | show |
Series | [1/1] smbios: empty strings in smbios_add_string() | expand |
On Mon, 1 Jun 2020 at 07:44, Heinrich Schuchardt <xypron.glpk at 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 at gmx.de> > --- > lib/smbios.c | 2 ++ > 1 file changed, 2 insertions(+) Reviewed-by: Simon Glass <sjg at chromium.org>
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) {
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 at gmx.de> --- lib/smbios.c | 2 ++ 1 file changed, 2 insertions(+) -- 2.26.2