commit 87ae9a230dc4a6ba55413f5fa431785c8d64d36c from: Markus Uhlin date: Sat Aug 3 23:28:16 2024 UTC Added bounds checking in player_lastdisconnect() 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, - ®istered, 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, ®istered, ipstr) != 5) { fprintf(stderr, "FICS: Error in login info format. %s" "\n", fname); fclose(fp);