From 268b3446c69db60be22d75ca9f4483bfa4967657 Mon Sep 17 00:00:00 2001 From: Marc Gilleron Date: Thu, 29 Sep 2016 03:15:12 +0200 Subject: [PATCH] Windows: prevent huge prints from crashing the engine (cherry picked from commit 0c09de3ef175b52937ffa2bba89a328cb282ad65) --- platform/windows/os_windows.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/platform/windows/os_windows.cpp b/platform/windows/os_windows.cpp index cebafdabcef..f38bda5899e 100644 --- a/platform/windows/os_windows.cpp +++ b/platform/windows/os_windows.cpp @@ -1312,10 +1312,13 @@ void OS_Windows::finalize_core() { void OS_Windows::vprint(const char* p_format, va_list p_list, bool p_stderr) { - char buf[16384+1]; - int len = vsnprintf(buf,16384,p_format,p_list); + const unsigned int BUFFER_SIZE = 16384; + char buf[BUFFER_SIZE+1]; // +1 for the terminating character + int len = vsnprintf(buf,BUFFER_SIZE,p_format,p_list); if (len<=0) return; + if(len >= BUFFER_SIZE) + len = BUFFER_SIZE; // Output is too big, will be truncated buf[len]=0;