@@ -20944,6 +20944,8 @@ char *SMBIOS_String(const struct dmi_header *dh, u8 id)
2094420944 return pStr;
2094520945}
2094620946
20947+ #define safe_strim(pStr) (strim(pStr == NULL ? "" : pStr))
20948+
2094720949void SMBIOS_Entries(const struct dmi_header *dh, void *priv)
2094820950{
2094920951 size_t *count = (size_t*) priv;
@@ -20967,8 +20969,8 @@ void SMBIOS_Entries(const struct dmi_header *dh, void *priv)
2096720969 if ((*count) < MC_MAX_DIMM)
2096820970 {
2096920971 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))
2097220974 };
2097320975 size_t calc;
2097420976 const size_t len[2] = {
@@ -20986,11 +20988,11 @@ void SMBIOS_Entries(const struct dmi_header *dh, void *priv)
2098620988 ratio[1], locator[1]);
2098720989
2098820990 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)),
2099020992 MAX_UTS_LEN);
2099120993
2099220994 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)),
2099420996 MAX_UTS_LEN);
2099520997 }
2099620998 }
@@ -20999,6 +21001,7 @@ void SMBIOS_Entries(const struct dmi_header *dh, void *priv)
2099921001 break;
2100021002 }
2100121003}
21004+ #undef safe_strim
2100221005#endif /* CONFIG_DMI */
2100321006
2100421007void SMBIOS_Decoder(void)
0 commit comments