summaryrefslogtreecommitdiff
blob: 8b6baf9b2ca2183d2b13a18b0163802b58f55e7b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
index 8a95fb9..7797d1f 100644
--- a/wordole.c
+++ b/wordole.c
@@ -259,6 +259,11 @@ bGetPPS(FILE *pFile,
 		}
 		tNameSize = (size_t)usGetWord(0x40, aucBytes);
 		tNameSize = (tNameSize + 1) / 2;
+		if (tNameSize >= sizeof(atPPSlist[0].szName)) {
+			werr(0, "PPS %d appears to be invalid.", iIndex);
+			atPPSlist = xfree(atPPSlist);
+			return FALSE;
+		}
 		vName2String(atPPSlist[iIndex].szName, aucBytes, tNameSize);
 		atPPSlist[iIndex].ucType = ucGetByte(0x42, aucBytes);
 		if (atPPSlist[iIndex].ucType == 5) {
-- 
2.1.2