瀏覽代碼

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>
Heinrich Schuchardt 4 年之前
父節點
當前提交
00a871d34e
共有 1 個文件被更改,包括 2 次插入0 次删除
  1. 2 0
      lib/smbios.c

+ 2 - 0
lib/smbios.c

@@ -31,6 +31,8 @@ static int smbios_add_string(char *start, const char *str)
 {
 {
 	int i = 1;
 	int i = 1;
 	char *p = start;
 	char *p = start;
+	if (!*str)
+		str = "Unknown";
 
 
 	for (;;) {
 	for (;;) {
 		if (!*p) {
 		if (!*p) {