aboutsummaryrefslogtreecommitdiff
path: root/procps
diff options
context:
space:
mode:
authorRon Yorston <rmy@pobox.com>2023-02-13 10:01:35 +0000
committerRon Yorston <rmy@pobox.com>2023-02-13 10:01:35 +0000
commit4e5fb4341fddc2b99e815f27ac577d85a57994c2 (patch)
treec9e2eae6d2752d7e7f907ad39e3797b0fd5c3e02 /procps
parent0f2feac4b7e518e838b80d7b8ceac8f9699ae997 (diff)
parent93ae7464e6e460f25b73e4ffefd2d9a6499eae30 (diff)
downloadbusybox-w32-4e5fb4341fddc2b99e815f27ac577d85a57994c2.tar.gz
busybox-w32-4e5fb4341fddc2b99e815f27ac577d85a57994c2.tar.bz2
busybox-w32-4e5fb4341fddc2b99e815f27ac577d85a57994c2.zip
Merge branch 'busybox' into merge
Diffstat (limited to 'procps')
-rw-r--r--procps/nmeter.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/procps/nmeter.c b/procps/nmeter.c
index 68e6f3325..e52c868df 100644
--- a/procps/nmeter.c
+++ b/procps/nmeter.c
@@ -59,9 +59,9 @@
59 59
60typedef unsigned long long ullong; 60typedef unsigned long long ullong;
61 61
62enum { /* Preferably use powers of 2 */ 62enum {
63 PROC_MIN_FILE_SIZE = 256, 63 PROC_MIN_FILE_SIZE = 256,
64 PROC_MAX_FILE_SIZE = 16 * 1024, 64 PROC_MAX_FILE_SIZE = 64 * 1024, /* 16k was a bit too small for a 128-CPU machine */
65}; 65};
66 66
67typedef struct proc_file { 67typedef struct proc_file {
@@ -176,7 +176,10 @@ static void readfile_z(proc_file *pf, const char* fname)
176 close(fd); 176 close(fd);
177 if (rdsz > 0) { 177 if (rdsz > 0) {
178 if (rdsz == sz-1 && sz < PROC_MAX_FILE_SIZE) { 178 if (rdsz == sz-1 && sz < PROC_MAX_FILE_SIZE) {
179 sz *= 2; 179 if (sz < 4 * 1024)
180 sz *= 2;
181 else
182 sz += 4 * 1024;
180 buf = xrealloc(buf, sz); 183 buf = xrealloc(buf, sz);
181 goto again; 184 goto again;
182 } 185 }