top: concede integer overflow risks in procs_refresh()
This is as far as we need go with respect to the issue of integer overflow addressed in that reference below. That patch, of course, was reversed to prepare for us. Reference(s): . original qualys patch 0105-top-Prevent-integer-overflows-in-procs_refresh.patch commit 131e5e2fe63f29edfc7df04b2b2a1682d93af846 Signed-off-by: Jim Warner <james.warner@comcast.net>
This commit is contained in:
parent
c9dfcdebdc
commit
59f39da852
@ -2797,6 +2797,8 @@ static void procs_hlp (proc_t *this) {
|
||||
}
|
||||
|
||||
if (Frame_maxtask+1 >= HHist_siz) {
|
||||
/* we're subject to integer overflow if total linux tasks ever approach |
|
||||
400+ million (but, do you think memory might be the bigger problem?) | */
|
||||
HHist_siz = HHist_siz * 5 / 4 + 100;
|
||||
PHist_sav = alloc_r(PHist_sav, sizeof(HST_t) * HHist_siz);
|
||||
PHist_new = alloc_r(PHist_new, sizeof(HST_t) * HHist_siz);
|
||||
@ -2859,6 +2861,8 @@ static void procs_refresh (void) {
|
||||
|
||||
for (;;) {
|
||||
if (n_used == n_alloc) {
|
||||
/* we're subject to integer overflow if total linux tasks ever approach |
|
||||
400+ million (but, do you think memory might be the bigger problem?) | */
|
||||
n_alloc = 10 + ((n_alloc * 5) / 4); // grow by over 25%
|
||||
private_ppt = alloc_r(private_ppt, sizeof(proc_t*) * n_alloc);
|
||||
// ensure NULL pointers for the additional memory just acquired
|
||||
|
Loading…
x
Reference in New Issue
Block a user