Author: daichi
Date: Fri Jul 27 07:05:50 2018
New Revision: 336756
URL: https://svnweb.freebsd.org/changeset/base/336756
Log:
top(1): fix a buffer overflow copying states to display while they were
incremented
- fix an AddressSanitizer error
Submitted by: [email protected]
Reviewed by: eadler
Approved by: gnn (mentor)
Differential Revision: https://reviews.freebsd.org/D16183
Modified:
head/usr.bin/top/display.c
Modified: head/usr.bin/top/display.c
==============================================================================
--- head/usr.bin/top/display.c Fri Jul 27 05:40:03 2018 (r336755)
+++ head/usr.bin/top/display.c Fri Jul 27 07:05:50 2018 (r336756)
@@ -420,6 +420,7 @@ i_cpustates(int *states)
int value;
const char * const *names;
const char *thisname;
+ int *hstates = states;
int cpu;
for (cpu = 0; cpu < num_cpus; cpu++) {
@@ -453,6 +454,7 @@ for (cpu = 0; cpu < num_cpus; cpu++) {
}
/* copy over values into "last" array */
+ states = hstates;
memcpy(lcpustates, states, num_cpustates * sizeof(int) * num_cpus);
}
@@ -462,6 +464,7 @@ u_cpustates(int *states)
int value;
const char * const *names;
const char *thisname;
+ int *hstates = states;
int *lp;
int *colp;
int cpu;
@@ -504,6 +507,8 @@ for (cpu = 0; cpu < num_cpus; cpu++) {
colp++;
}
}
+
+ states = hstates;
}
void
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "[email protected]"