cb0cbed40a
Remove the FORBIDDEN keyword with some apprehension: there might well be other holes left :( Bump PORTREVISION for the applied bug (and security-) fix.
20 lines
733 B
Text
20 lines
733 B
Text
--- 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)
|