diff --git a/sys-utils/lscpu-cputype.c b/sys-utils/lscpu-cputype.c index 80fc50d3f..e4dfe19f0 100644 --- a/sys-utils/lscpu-cputype.c +++ b/sys-utils/lscpu-cputype.c @@ -561,7 +561,7 @@ int lscpu_read_cpuinfo(struct lscpu_cxt *cxt) /* Set the default type to CPUs which are missing (or not parsed) * in cpuinfo */ ct = lscpu_cputype_get_default(cxt); - for (i = 0; i < cxt->npossibles; i++) { + for (i = 0; ct && i < cxt->npossibles; i++) { struct lscpu_cpu *cpu = cxt->cpus[i]; if (cpu && !cpu->type) diff --git a/sys-utils/lscpu.c b/sys-utils/lscpu.c index b5cde2723..8829098aa 100644 --- a/sys-utils/lscpu.c +++ b/sys-utils/lscpu.c @@ -966,7 +966,7 @@ static void print_summary(struct lscpu_cxt *cxt) *(p - 2) = '\0'; add_summary_s(tb, sec, _("CPU op-mode(s):"), buf); } - if (ct->addrsz) + if (ct && ct->addrsz) add_summary_s(tb, sec, _("Address sizes:"), ct->addrsz); #if !defined(WORDS_BIGENDIAN) add_summary_s(tb, sec, _("Byte Order:"), "Little Endian"); @@ -1008,9 +1008,9 @@ static void print_summary(struct lscpu_cxt *cxt) sec = NULL; /* Section: cpu type description */ - if (ct->vendor) + if (ct && ct->vendor) sec = add_summary_s(tb, NULL, _("Vendor ID:"), ct->vendor); - if (ct->bios_vendor) + if (ct && ct->bios_vendor) add_summary_s(tb, sec, _("BIOS Vendor ID:"), ct->bios_vendor); for (i = 0; i < cxt->ncputypes; i++)