From 714954251f48f015e72df7a5818bb00af60c16eb Mon Sep 17 00:00:00 2001
From: "Rob Swindell (on Debian Linux)" <rob@synchro.net>
Date: Sun, 7 May 2023 13:43:15 -0700
Subject: [PATCH] Enforce telbuf size bounds (don't just log the overflow
 condition)

This should resolve CID 453850
---
 src/sbbs3/main.cpp | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/sbbs3/main.cpp b/src/sbbs3/main.cpp
index bf19a832d5..6e2ab528a4 100644
--- a/src/sbbs3/main.cpp
+++ b/src/sbbs3/main.cpp
@@ -2128,8 +2128,10 @@ void input_thread(void *arg)
 			wrbuf=inbuf;
 		else
 			wrbuf=telnet_interpret(sbbs, inbuf, rd, telbuf, wr);
-		if(wr > (int)sizeof(telbuf))
+		if(wr > (int)sizeof(telbuf)) {
 			lprintf(LOG_ERR,"!TELBUF OVERFLOW (%d>%d)",wr,(int)sizeof(telbuf));
+			wr = sizeof(telbuf);
+		}
 
 		if(!(sbbs->console & CON_RAW_IN))
 			sbbs->translate_input(wrbuf, wr);
-- 
GitLab