There is a potential bug that may crash the server in sv_client.c SV_ExecuteClientCommand() function:
if(strcmp(Cmd_Argv(0), "say") && strcmp(Cmd_Argv(0), "say_team") )
Cmd_Args_Sanitize(); //remove \n, \r and ; from string. We don't do that for say-commands because it makes people mad (understandebly)
VM_Call( gvm, GAME_CLIENT_COMMAND, cl - svs.clients );
The strcmp assumes the client command is at least 3 characters, but if it's below, it may crash the server. This should be converted to a Q_stricmp or a Q_strncmp.
For the record, that's not how strcmp() works - it stops comparing at the first "\0" in either string, so strcmp("", "say"), strcmp("x", "say") and strcmp("xx", "say") won't crash.
For the record, that's not how strcmp() works - it stops comparing at the first "\0" in either string, so strcmp("", "say"), strcmp("x", "say") and strcmp("xx", "say") won't crash.