From 491e0ebd8898631bc6f1fc11c861a8cf747eaaf4 Mon Sep 17 00:00:00 2001 From: Rushaway Date: Mon, 23 Feb 2026 15:08:40 +0100 Subject: [PATCH 1/2] feat(core): message overflow protection Added overflow protection for message length --- addons/sourcemod/scripting/ConsoleChatManager.sp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/addons/sourcemod/scripting/ConsoleChatManager.sp b/addons/sourcemod/scripting/ConsoleChatManager.sp index 42c974a..54e19cf 100644 --- a/addons/sourcemod/scripting/ConsoleChatManager.sp +++ b/addons/sourcemod/scripting/ConsoleChatManager.sp @@ -39,6 +39,7 @@ enum EHudNotify } #define MAXLENGTH_INPUT 512 +#define MAX_SAYTEXT2_LENGTH 249 #define NORMALHUD 1 ConVar g_ConsoleMessage, g_EnableTranslation, g_cRemoveConsoleTag; @@ -78,7 +79,7 @@ public Plugin myinfo = name = "ConsoleChatManager", author = "Franc1sco Steam: franug, maxime1907, inGame, AntiTeal, Oylsister, .Rushaway, tilgep, koen", description = "Interact with console messages", - version = "2.4.5", + version = "2.4.6", url = "" }; @@ -798,6 +799,13 @@ stock void SendServerMessage(const char[] sMessage, bool bScript = false) strcopy(sTrimText, sizeof(sTrimText), sText); RemoveColorCodes(sTrimText); + // Overflow protection + if (MAX_SAYTEXT2_LENGTH - strlen(sTrimText) <= 1) + { + PrintToServer("[ConsoleChatManager] Message is too long to be sent to clients, skipping display. Message: %s", sTrimText); + return; + } + if (g_bBlockSpam) { int currentTime = GetTime(); From fdd77335ffd5f4e59e300db6a17b867108b2c47a Mon Sep 17 00:00:00 2001 From: Rushaway Date: Mon, 23 Feb 2026 15:40:20 +0100 Subject: [PATCH 2/2] Rename MAX_SAYTEXT2_LENGTH to MAXLENGTH_SAYTEXT2 --- addons/sourcemod/scripting/ConsoleChatManager.sp | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/addons/sourcemod/scripting/ConsoleChatManager.sp b/addons/sourcemod/scripting/ConsoleChatManager.sp index 54e19cf..d76b84b 100644 --- a/addons/sourcemod/scripting/ConsoleChatManager.sp +++ b/addons/sourcemod/scripting/ConsoleChatManager.sp @@ -39,7 +39,7 @@ enum EHudNotify } #define MAXLENGTH_INPUT 512 -#define MAX_SAYTEXT2_LENGTH 249 +#define MAXLENGTH_SAYTEXT2 249 #define NORMALHUD 1 ConVar g_ConsoleMessage, g_EnableTranslation, g_cRemoveConsoleTag; @@ -799,13 +799,6 @@ stock void SendServerMessage(const char[] sMessage, bool bScript = false) strcopy(sTrimText, sizeof(sTrimText), sText); RemoveColorCodes(sTrimText); - // Overflow protection - if (MAX_SAYTEXT2_LENGTH - strlen(sTrimText) <= 1) - { - PrintToServer("[ConsoleChatManager] Message is too long to be sent to clients, skipping display. Message: %s", sTrimText); - return; - } - if (g_bBlockSpam) { int currentTime = GetTime(); @@ -891,6 +884,12 @@ stock void SendServerMessage(const char[] sMessage, bool bScript = false) FormatEx(sFinalText, sizeof(sFinalText), "%s%s", sFinalText, roundTimeText); } + // Overflow protection + if (MAXLENGTH_SAYTEXT2 - strlen(sFinalText) <= 1) + { + return; + } + CPrintToChat(i, sFinalText); // Prepare HUD message