diff options
| -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), | 
