Commit Diff


commit - b66b6d954ba6434e113fe6263682ae476252c41d
commit + 5c93024d1953ee5d0f060dd3bfa59b409e7f31ac
blob - 79067aeadc042bd83a1cbbfbe58ea1caf945d33e
blob + 15959b5f4070cdd2589a025a2d3d5e050bbb508d
--- FICS/playerdb.c
+++ FICS/playerdb.c
@@ -1512,8 +1512,13 @@ player_lastconnect(int p)
 		if (inout == P_LOGIN)
 			last = lval;
 
-		if (fscanf(fp, "%d %s %ld %d %s\n", &inout, loginName, &lval,
-		    &registered, ipstr) != 5) {
+		_Static_assert(19 < ARRAY_SIZE(loginName),
+		    "'loginName' too small");
+		_Static_assert(19 < ARRAY_SIZE(ipstr),
+		    "'ipstr' too small");
+
+		if (fscanf(fp, "%d %19s %ld %d %19s\n", &inout, loginName,
+		    &lval, &registered, ipstr) != 5) {
 			fprintf(stderr, "FICS: Error in login info format. %s"
 			    "\n", fname);
 			fclose(fp);