diff -up procps-3.2.7/top.c.p10 procps-3.2.7/top.c --- procps-3.2.7/top.c.p10 2008-09-01 11:33:06.000000000 +0200 +++ procps-3.2.7/top.c 2008-09-01 11:33:06.000000000 +0200 @@ -2462,7 +2462,10 @@ static void windows_stage2 (void) int i; for (i = 0; i < GROUPSMAX; i++) { - win_names(&Winstk[i], Winstk[i].rc.winname); + /* Please, never use something like sprintf(x, "%s", x); ... see win_names() */ + char buf[WINNAMSIZ]; + strncpy(buf, Winstk[i].rc.winname, WINNAMSIZ); + win_names(&Winstk[i], buf); capsmk(&Winstk[i]); } // rely on this next guy to force a call (eventually) to reframewins