Enforce MAX_REASONLENGTH when reading ban.txt.

This commit is contained in:
toaster 2022-06-14 21:42:41 +01:00
parent 4ad6220f3e
commit e4e2550592

View file

@ -2179,9 +2179,9 @@ static void Command_ClearBans(void)
void D_LoadBan(boolean warning)
{
FILE *f;
size_t i;
const char *address, *mask;
const char *username, *reason;
size_t i, j;
char *address, *mask;
char *username, *reason;
time_t unbanTime = NO_BAN_TIME;
char buffer[MAX_WADPATH];
boolean banmode = 0;
@ -2235,6 +2235,19 @@ void D_LoadBan(boolean warning)
reason = strtok(NULL, "\"\r\n"); // go until next "
}
// Enforce MAX_REASONLENGTH.
if (reason)
{
j = 0;
while (reason[j] != '\0')
{
if ((j++) < MAX_REASONLENGTH)
continue;
reason[j] = '\0';
break;
}
}
I_SetBanAddress(address, mask);
if (I_SetUnbanTime)