blob: 4d7487c4f74198f1ff27b39d63d25497268048f0 [file] [log] [blame]
Andrew Geissler220dafd2023-10-04 10:18:08 -05001From 95b0405338440cf5cd6d4b2b5c66cda8bf381b28 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 15 Sep 2023 00:18:18 -0700
4Subject: [PATCH] lscpu: Use 4K buffer size instead of BUFSIZ
5
6Some lines in /proc/cpuinfo can be large e.g. flags and can then
7truncate them in displaying them
8
9BUFSIZ can vary quite a bit e.g. glibc/linux systems its 8192
10but on musl/linux and OSX its 1024, on mingW it is 256, some tests e.g.
11x86_64-64cpu-linux6.2.tar.gz has added really long line for cpu flags
12line which is greater than 1024 characters and hence this test fails
13on musl because lscpu -s reports truncated string
14
15Upstream-Status: Submitted [https://github.com/util-linux/util-linux/pull/2492]
16Signed-off-by: Khem Raj <raj.khem@gmail.com>
17---
18 sys-utils/lscpu-cputype.c | 4 +++-
19 1 file changed, 3 insertions(+), 1 deletion(-)
20
21diff --git a/sys-utils/lscpu-cputype.c b/sys-utils/lscpu-cputype.c
22index 3fd5f7a3c..c8f72ab8a 100644
23--- a/sys-utils/lscpu-cputype.c
24+++ b/sys-utils/lscpu-cputype.c
25@@ -462,7 +462,9 @@ static int cpuinfo_parse_cache(struct lscpu_cxt *cxt, int keynum, char *data)
26 int lscpu_read_cpuinfo(struct lscpu_cxt *cxt)
27 {
28 FILE *fp;
29- char buf[BUFSIZ];
30+ /* Used to be BUFSIZ which is small on some platforms e.g, musl,
31+ * therefore hardcode to 4K */
32+ char buf[4096];
33 size_t i;
34 struct lscpu_cputype *ct;
35 struct cpuinfo_parser _pr = { .cxt = cxt }, *pr = &_pr;
36--
372.42.0
38