From 58831bf2ca3b1c0de54b2469429a978c814c1935 Mon Sep 17 00:00:00 2001 From: Ozkan Sezer Date: Sun, 23 Aug 2015 09:56:31 +0000 Subject: [PATCH] prevent a possible buffer overflow in Cbuf_Execute (an old q1/q2 issue this was.) git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1245 af15c1b1-3010-417e-b628-4374ebc0bcbd --- Quake/cmd.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/Quake/cmd.c b/Quake/cmd.c index 4d41a59e..b14143ab 100644 --- a/Quake/cmd.c +++ b/Quake/cmd.c @@ -165,9 +165,16 @@ void Cbuf_Execute (void) break; } - - memcpy (line, text, i); - line[i] = 0; + if (i > (int)sizeof(line) - 1) + { + memcpy (line, text, sizeof(line) - 1); + line[sizeof(line) - 1] = 0; + } + else + { + memcpy (line, text, i); + line[i] = 0; + } // delete the text from the command buffer and move remaining commands down // this is necessary because commands (exec, alias) can insert data at the