Commit Diff


commit - 5c93024d1953ee5d0f060dd3bfa59b409e7f31ac
commit + 87ae9a230dc4a6ba55413f5fa431785c8d64d36c
blob - 15959b5f4070cdd2589a025a2d3d5e050bbb508d
blob + 46ae4649b77eecfcc5481298a801470af7e113a6
--- FICS/playerdb.c
+++ FICS/playerdb.c
@@ -1555,8 +1555,13 @@ player_lastdisconnect(int p)
 		return 0;
 
 	while (!feof(fp)) {
-		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);