summaryrefslogtreecommitdiff
path: root/japanese/nethack34/files/patch-ah
blob: a21918f7a656f5bb2a265ec4a7cdf770c26d993e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
--- 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)