After tested on different platforms, we found dmi_string() may return NULL in some case. So add more sanity checks for dmi_decode_cputype(). Signed-off-by: Huang Shijie <shijie@xxxxxxxxxxxxxxxxxxxxxx> --- sys-utils/lscpu-dmi.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/sys-utils/lscpu-dmi.c b/sys-utils/lscpu-dmi.c index 782881b75..9b63dd685 100644 --- a/sys-utils/lscpu-dmi.c +++ b/sys-utils/lscpu-dmi.c @@ -115,10 +115,11 @@ int dmi_decode_cputype(struct lscpu_cputype *ct) return rc; } - ct->bios_vendor = xstrdup(di.processor_manufacturer); + if (di.processor_manufacturer) + ct->bios_vendor = xstrdup(di.processor_manufacturer); - snprintf(buf, sizeof(buf), - "%s %s CPU @ %d.%dGHz", di.processor_version, di.part_num, + snprintf(buf, sizeof(buf), "%s %s CPU @ %d.%dGHz", + (di.processor_version ?: ""), (di.part_num ?: ""), di.current_speed/1000, (di.current_speed % 1000) / 100); ct->bios_modelname = xstrdup(buf); -- 2.30.2