Package: procps Version: 1:3.2.7-3 Followup-For: Bug #256376
After further review it looks like PUFF is not checking if it has enough memory to write on. This is a simple fix to the problem.
Index: top.h =================================================================== RCS file: /cvsroot/procps/procps/top.h,v retrieving revision 1.57 diff -u -p -r1.57 top.h --- top.h 25 Jun 2006 02:15:35 -0000 1.57 +++ top.h 14 Mar 2007 06:21:58 -0000 @@ -149,6 +149,8 @@ do { int _len = 1 + snprintf(_str, sizeof(_str), fmt, ## arg); \ if (Batch) _ptr = _str; \ else { \ + if (Pseudo_row * Pseudo_cols + _len > Pseudo_size) \ + Pseudo_scrn = realloc(Pseudo_scrn,Pseudo_row * Pseudo_cols + _len); \ _ptr = &Pseudo_scrn[Pseudo_row++ * Pseudo_cols]; \ if (memcmp(_ptr, _str, _len)) { \ memcpy(_ptr, _str, _len); \