diff options
Diffstat (limited to 'modules/devices/dmi_memory.c')
-rw-r--r-- | modules/devices/dmi_memory.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/modules/devices/dmi_memory.c b/modules/devices/dmi_memory.c index d6891573..c75cf403 100644 --- a/modules/devices/dmi_memory.c +++ b/modules/devices/dmi_memory.c @@ -62,6 +62,12 @@ gchar *dmi_mem_socket_info() { gchar *mfgr = dmidecode_match("Manufacturer", &dtm, &h); gchar *partno = dmidecode_match("Part Number", &dtm, &h); + if (g_str_has_prefix(mfgr, "<BAD INDEX>")) { + /* the manufacturer code is unknown to dmidecode */ + g_free(mfgr); + mfgr = NULL; + } + gchar *vendor_str = NULL; if (mfgr) { const gchar *v_url = vendor_get_url(mfgr); @@ -90,7 +96,7 @@ gchar *dmi_mem_socket_info() { _("Memory Socket"), i, locator, _("DMI Handle"), h, _("Form Factor"), UNKIFNULL2(form_factor), - _("Manufacturer"), UNKIFNULL2(mfgr), vendor_str, + _("Manufacturer"), UNKIFNULL2(mfgr), vendor_str ? vendor_str : "", _("Part Number"), UNKIFNULL2(partno), _("Type"), UNKIFNULL2(type), UNKIFNULL2(type_detail), _("Size"), UNKIFNULL2(size_str), |