ping. here's yet another patch from the third person to hit this (https://android-review.googlesource.com/#/c/169242/):
Author: Colin Cross <[email protected]> Date: Tue Sep 1 14:32:59 2015 -0700 vmstat: reset header pointer when looping Modifying the headers pointer when printing the headers causes a buffer overrun the second time they are printed. Use a local header pointer that is reset to the beginning of the buffer for each loop. Change-Id: Id2520b78255833197b4075f789766395bc36f218 diff --git a/toys/other/vmstat.c b/toys/other/vmstat.c index 9a38e45..5b79702 100644 --- a/toys/other/vmstat.c +++ b/toys/other/vmstat.c @@ -96,14 +96,14 @@ void vmstat_main(void) // Print headers if (rows>3 && !(loop % (rows-3))) { + const char *header = headers; if (isatty(1)) terminal_size(0, &rows); else rows = 0; printf("procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----\n"); - for (i=0; i<sizeof(lengths); i++) { - printf(" %*s"+!i, lengths[i], headers); - headers += strlen(headers)+1; + printf(" %*s"+!i, lengths[i], header); + header += strlen(header)+1; } xputc('\n'); } On Mon, May 11, 2015 at 1:22 AM, José Bollo <[email protected]> wrote: > Please find here an alternate proposal for fixing that issue. > Best regards > José > > > diff --git a/toys/other/vmstat.c b/toys/other/vmstat.c > index eed7945..0884fe9 100644 > --- a/toys/other/vmstat.c > +++ b/toys/other/vmstat.c > @@ -93,14 +93,15 @@ void vmstat_main(void) > > // Print headers > if (rows>3 && !(loop % (rows-3))) { > + char *h = headers; > if (isatty(1)) terminal_size(0, &rows); > else rows = 0; > > printf("procs -----------memory---------- ---swap-- -----io---- > -system-- ----cpu----\n"); > > for (i=0; i<sizeof(lengths); i++) { > - printf(" %*s"+!i, lengths[i], headers); > - headers += strlen(headers)+1; > + printf(" %*s"+!i, lengths[i], h++); > + while(*h++ != 0); > } > xputc('\n'); > } > > > > _______________________________________________ > Toybox mailing list > [email protected] > http://lists.landley.net/listinfo.cgi/toybox-landley.net -- Elliott Hughes - http://who/enh - http://jessies.org/~enh/ Android native code/tools questions? Mail me/drop by/add me as a reviewer. _______________________________________________ Toybox mailing list [email protected] http://lists.landley.net/listinfo.cgi/toybox-landley.net
