summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorHeinrich Schuchardt <xypron.glpk@gmx.de>2020-06-01 15:44:00 +0200
committerHeinrich Schuchardt <xypron.glpk@gmx.de>2020-06-05 04:04:41 +0200
commit00a871d34e2f0a12eec4da9c297588026ce55b9a (patch)
tree37e32434c5fa9d0871dcf523c78e8015584ff191 /lib
parent88bd5b1793600b0f5f25c3d236b4d049fb986140 (diff)
downloadu-boot-00a871d34e2f0a12eec4da9c297588026ce55b9a.tar.gz
u-boot-00a871d34e2f0a12eec4da9c297588026ce55b9a.tar.xz
u-boot-00a871d34e2f0a12eec4da9c297588026ce55b9a.zip
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>
Diffstat (limited to 'lib')
-rw-r--r--lib/smbios.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/lib/smbios.c b/lib/smbios.c
index 7b74971f68..11790443e1 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) {