diff options
author | Ron Yorston <rmy@pobox.com> | 2023-02-13 10:01:35 +0000 |
---|---|---|
committer | Ron Yorston <rmy@pobox.com> | 2023-02-13 10:01:35 +0000 |
commit | 4e5fb4341fddc2b99e815f27ac577d85a57994c2 (patch) | |
tree | c9e2eae6d2752d7e7f907ad39e3797b0fd5c3e02 /procps | |
parent | 0f2feac4b7e518e838b80d7b8ceac8f9699ae997 (diff) | |
parent | 93ae7464e6e460f25b73e4ffefd2d9a6499eae30 (diff) | |
download | busybox-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.c | 9 |
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 | ||
60 | typedef unsigned long long ullong; | 60 | typedef unsigned long long ullong; |
61 | 61 | ||
62 | enum { /* Preferably use powers of 2 */ | 62 | enum { |
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 | ||
67 | typedef struct proc_file { | 67 | typedef 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 | } |