aboutsummaryrefslogtreecommitdiff
path: root/procps/top.c
diff options
context:
space:
mode:
Diffstat (limited to 'procps/top.c')
-rw-r--r--procps/top.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/procps/top.c b/procps/top.c
index e13cd1521..392a3c82b 100644
--- a/procps/top.c
+++ b/procps/top.c
@@ -814,7 +814,7 @@ int top_main(int argc UNUSED_PARAM, char **argv)
814 int n; 814 int n;
815 if (scan_mask == TOP_MASK) { 815 if (scan_mask == TOP_MASK) {
816 n = ntop; 816 n = ntop;
817 top = xrealloc(top, (++ntop) * sizeof(*top)); 817 top = xrealloc_vector(top, 2, ntop++);
818 top[n].pid = p->pid; 818 top[n].pid = p->pid;
819 top[n].ppid = p->ppid; 819 top[n].ppid = p->ppid;
820 top[n].vsz = p->vsz; 820 top[n].vsz = p->vsz;
@@ -829,7 +829,8 @@ int top_main(int argc UNUSED_PARAM, char **argv)
829 if (!(p->mapped_ro | p->mapped_rw)) 829 if (!(p->mapped_ro | p->mapped_rw))
830 continue; /* kernel threads are ignored */ 830 continue; /* kernel threads are ignored */
831 n = ntop; 831 n = ntop;
832 top = xrealloc(topmem, (++ntop) * sizeof(*topmem)); 832 /* No bug here - top and topmem are the same */
833 top = xrealloc_vector(topmem, 2, ntop++);
833 strcpy(topmem[n].comm, p->comm); 834 strcpy(topmem[n].comm, p->comm);
834 topmem[n].pid = p->pid; 835 topmem[n].pid = p->pid;
835 topmem[n].vsz = p->mapped_rw + p->mapped_ro; 836 topmem[n].vsz = p->mapped_rw + p->mapped_ro;