diff --git a/dmidecode.c b/dmidecode.c index 0e480d3..657a134 100644 --- a/dmidecode.c +++ b/dmidecode.c @@ -4465,6 +4465,9 @@ static void dmi_decode(const struct dmi_header *h, u16 ver) dmi_memory_device_type(data[0x12])); dmi_memory_device_type_detail(WORD(data + 0x13)); if (h->length < 0x17) break; + /* If no module is present, the remaining fields are irrelevant */ + if (WORD(data + 0x0C) == 0) + break; dmi_memory_device_speed("Speed", WORD(data + 0x15)); if (h->length < 0x1B) break; pr_attr("Manufacturer", "%s",