From 70c4b63f610f96839b4e0b2eff798cb2229574dd Mon Sep 17 00:00:00 2001 From: Molgrum Date: Thu, 30 Aug 2007 02:15:25 +0000 Subject: [PATCH] Changed some of the strcat to Q_strncatz, might have solved a crash I frequently got before but not since these modifications. git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@2615 fc73d0e0-1445-4013-8a0c-d673dee63da5 --- engine/client/cl_main.c | 18 +++++++++--------- engine/client/cl_ui.c | 4 ++-- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/engine/client/cl_main.c b/engine/client/cl_main.c index 17015f19e..862921416 100644 --- a/engine/client/cl_main.c +++ b/engine/client/cl_main.c @@ -486,37 +486,37 @@ void CL_SendConnectPacket ( sprintf(data, "%c%c%c%cconnect", 255, 255, 255, 255); if (clients>1) //splitscreen 'connect' command specifies the number of userinfos sent. - strcat(data, va("%i", clients)); + Q_strncatz(data, va("%i", clients), sizeof(data)); #ifdef Q2CLIENT if (cls.protocol == CP_QUAKE2) - strcat(data, va(" %i", PROTOCOL_VERSION_Q2)); + Q_strncatz(data, va(" %i", PROTOCOL_VERSION_Q2), sizeof(data)); else #endif - strcat(data, va(" %i", PROTOCOL_VERSION)); + Q_strncatz(data, va(" %i", PROTOCOL_VERSION), sizeof(data)); - strcat(data, va(" %i %i", cls.qport, cls.challenge)); + Q_strncatz(data, va(" %i %i", cls.qport, cls.challenge), sizeof(data)); //userinfo 0 + zquake extension info. - strcat(data, va(" \"%s\\*z_ext\\%i\"", cls.userinfo, SUPPORTED_Z_EXTENSIONS)); + Q_strncatz(data, va(" \"%s\\*z_ext\\%i\"", cls.userinfo, SUPPORTED_Z_EXTENSIONS), sizeof(data)); for (c = 1; c < clients; c++) { Info_SetValueForStarKey (playerinfo2, "name", va("%s%i", name.string, c+1), MAX_INFO_STRING); - strcat(data, va(" \"%s\"", playerinfo2, SUPPORTED_Z_EXTENSIONS)); + Q_strncatz(data, va(" \"%s\"", playerinfo2, SUPPORTED_Z_EXTENSIONS), sizeof(data)); } - strcat(data, "\n"); + Q_strncatz(data, "\n", sizeof(data)); #ifdef PROTOCOL_VERSION_FTE if (ftepext) - strcat(data, va("0x%x 0x%x\n", PROTOCOL_VERSION_FTE, fteprotextsupported)); + Q_strncatz(data, va("0x%x 0x%x\n", PROTOCOL_VERSION_FTE, fteprotextsupported), sizeof(data)); #endif #ifdef HUFFNETWORK if (compressioncrc && Huff_CompressionCRC(compressioncrc)) { - strcat(data, va("0x%x 0x%x\n", PROTOCOL_VERSION_HUFFMAN, LittleLong(compressioncrc))); + Q_strncatz(data, va("0x%x 0x%x\n", PROTOCOL_VERSION_HUFFMAN, LittleLong(compressioncrc)), sizeof(data)); cls.netchan.compress = true; } else diff --git a/engine/client/cl_ui.c b/engine/client/cl_ui.c index 689c7160b..37259367d 100644 --- a/engine/client/cl_ui.c +++ b/engine/client/cl_ui.c @@ -87,7 +87,7 @@ int Script_Read(int handle, struct pc_token_s *token) sc->lastreaddepth = sc->stackdepth; s = (char *)COM_ParseToken(s, Q3SCRIPTPUNCTUATION); - strcpy(readstring, com_token); + Q_strncpyz(readstring, com_token, sizeof(readstring)); if (com_tokentype == TTP_STRING) { while(s) @@ -105,7 +105,7 @@ int Script_Read(int handle, struct pc_token_s *token) if (*s == '\"') { s = (char*)COM_ParseToken(s, Q3SCRIPTPUNCTUATION); - strcat(readstring, com_token); + Q_strncatz(readstring, com_token, sizeof(readstring)); } else break;