@@ -20944,6 +20944,8 @@ char *SMBIOS_String(const struct dmi_header *dh, u8 id)
20944
20944
return pStr;
20945
20945
}
20946
20946
20947
+ #define safe_strim(pStr) (strim(pStr == NULL ? "" : pStr))
20948
+
20947
20949
void SMBIOS_Entries(const struct dmi_header *dh, void *priv)
20948
20950
{
20949
20951
size_t *count = (size_t*) priv;
@@ -20967,8 +20969,8 @@ void SMBIOS_Entries(const struct dmi_header *dh, void *priv)
20967
20969
if ((*count) < MC_MAX_DIMM)
20968
20970
{
20969
20971
const char *locator[2] = {
20970
- strim (SMBIOS_String(dh, entry->device_locator_id)),
20971
- strim (SMBIOS_String(dh, entry->bank_locator_id))
20972
+ safe_strim (SMBIOS_String(dh, entry->device_locator_id)),
20973
+ safe_strim (SMBIOS_String(dh, entry->bank_locator_id))
20972
20974
};
20973
20975
size_t calc;
20974
20976
const size_t len[2] = {
@@ -20986,11 +20988,11 @@ void SMBIOS_Entries(const struct dmi_header *dh, void *priv)
20986
20988
ratio[1], locator[1]);
20987
20989
20988
20990
StrCopy(PUBLIC(RO(Proc))->SMB.Memory.Manufacturer[(*count)],
20989
- strim (SMBIOS_String(dh, entry->manufacturer_id)),
20991
+ safe_strim (SMBIOS_String(dh, entry->manufacturer_id)),
20990
20992
MAX_UTS_LEN);
20991
20993
20992
20994
StrCopy(PUBLIC(RO(Proc))->SMB.Memory.PartNumber[(*count)],
20993
- strim (SMBIOS_String(dh, entry->part_number_id)),
20995
+ safe_strim (SMBIOS_String(dh, entry->part_number_id)),
20994
20996
MAX_UTS_LEN);
20995
20997
}
20996
20998
}
@@ -20999,6 +21001,7 @@ void SMBIOS_Entries(const struct dmi_header *dh, void *priv)
20999
21001
break;
21000
21002
}
21001
21003
}
21004
+ #undef safe_strim
21002
21005
#endif /* CONFIG_DMI */
21003
21006
21004
21007
void SMBIOS_Decoder(void)
0 commit comments