aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--code/server/sv_main.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/code/server/sv_main.c b/code/server/sv_main.c
index fa6a4c8..e83ce19 100644
--- a/code/server/sv_main.c
+++ b/code/server/sv_main.c
@@ -373,6 +373,15 @@ void SVC_Info( netadr_t from ) {
return;
}
+ /*
+ * Check whether Cmd_Argv(1) has a sane length. This was not done in the original Quake3 version which led
+ * to the Infostring bug discovered by Luigi Auriemma. See http://aluigi.altervista.org/ for the advisory.
+ */
+
+ // A maximum challenge length of 128 should be more than plenty.
+ if(strlen(Cmd_Argv(1)) > 128)
+ return;
+
// don't count privateclients
count = 0;
for ( i = sv_privateClients->integer ; i < sv_maxclients->integer ; i++ ) {