--- src/topten.c Thu Mar 21 01:43:19 2002 +++ src/topten.c Tue Feb 11 15:36:23 2003 @@ -855,8 +855,15 @@ if (playerct < 1) Strcat(pbuf, "you."); else { if (playerct > 1) Strcat(pbuf, "any of "); - for (i = 0; i < playerct; i++) { - Strcat(pbuf, players[i]); + for (i = 0; i < playerct && strlen(pbuf) < sizeof(pbuf) - 2; + i++) { + size_t len = strlen(pbuf), rest; + if (strlen(players[i]) > sizeof(pbuf) - len - 2) { + rest = sizeof(pbuf) - strlen(pbuf) - 2; + memcpy(pbuf + len, players[i], rest); + pbuf[len + rest] = '\0'; + } else + Strcat(pbuf, players[i]); if (i < playerct-1) { if (players[i][0] == '-' && index("pr", players[i][1]) && players[i][2] == 0)