]> git.xonotic.org Git - xonotic/darkplaces.git/commitdiff
fix a buffer overflow bug in InfoString_SetValue (thanks div0!), and increase userinf...
authorhavoc <havoc@d7cf8633-e32d-0410-b094-e92efae38249>
Mon, 17 Jul 2006 23:19:46 +0000 (23:19 +0000)
committerhavoc <havoc@d7cf8633-e32d-0410-b094-e92efae38249>
Mon, 17 Jul 2006 23:19:46 +0000 (23:19 +0000)
git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@6512 d7cf8633-e32d-0410-b094-e92efae38249

common.c
quakedef.h

index a510c060d86215b5fec166db6e056b28d275d7ac..fe84a1ddf24ea6db4dff0e6d11fde621c9ae5eb5 100644 (file)
--- a/common.c
+++ b/common.c
@@ -1395,7 +1395,7 @@ void InfoString_SetValue(char *buffer, size_t bufferlength, const char *key, con
                for (pos2++;buffer[pos2] && buffer[pos2] != '\\';pos2++);
                for (pos2++;buffer[pos2] && buffer[pos2] != '\\';pos2++);
        }
-       if (bufferlength <= 1 + strlen(key) + 1 + strlen(value) + strlen(buffer + pos2))
+       if (bufferlength <= pos + 1 + strlen(key) + 1 + strlen(value) + strlen(buffer + pos2))
        {
                Con_Printf("InfoString_SetValue: no room for \"%s\" \"%s\" in infostring\n", key, value);
                return;
index b6faccba15392357ef35342c630053831f729e70..675914072423d88d97d5cc75e07e412f745c8004 100644 (file)
@@ -184,8 +184,10 @@ extern char engineversion[128];
 // LordHavoc: increased name limit from 32 to 64 characters
 #define        MAX_SCOREBOARDNAME      64
 // infostring sizes used by QuakeWorld support
-#define MAX_USERINFO_STRING 196
-#define MAX_SERVERINFO_STRING 512
+// was 196
+#define MAX_USERINFO_STRING 1280
+// was 512
+#define MAX_SERVERINFO_STRING 1280
 #define MAX_LOCALINFO_STRING 32768
 
 #include "zone.h"