sys-apps/util-linux-2.37.1: fix lscpu segfault on some arches

Observed on rv64 but could in princple happen elsewhere too.

Bug: https://bugs.gentoo.org/802606
Signed-off-by: Marek Szuba <marecki@gentoo.org>
This commit is contained in:
Marek Szuba
2021-07-30 13:16:59 +01:00
parent 34f3583c0a
commit a8c8e0a371
2 changed files with 30 additions and 0 deletions

View File

@@ -0,0 +1,26 @@
If you call a function which can return a null pointer you probably want
to check the return value before attempting to dereference it. </sarcasm>
--- a/sys-utils/lscpu.c
+++ b/sys-utils/lscpu.c
@@ -966,7 +966,7 @@
*(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 @@
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++)

View File

@@ -86,6 +86,10 @@ RESTRICT="!test? ( test )"
S="${WORKDIR}/${MY_P}"
PATCHES=(
"${FILESDIR}"/${PN}-2.37.1-lscpu_nullptr.patch
)
src_prepare() {
default