From 39fc5531f8d5b021a1bddee6eee838d657c71215 Mon Sep 17 00:00:00 2001 From: "seer-by-sentry[bot]" <157164994+seer-by-sentry[bot]@users.noreply.github.com> Date: Sun, 4 Jan 2026 01:49:31 +0000 Subject: [PATCH] Fix potential crash in WideCharStringToMultiByte with null or empty input --- .../GameNetwork/GameSpy/Thread/ThreadUtils.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/Core/GameEngine/Source/GameNetwork/GameSpy/Thread/ThreadUtils.cpp b/Core/GameEngine/Source/GameNetwork/GameSpy/Thread/ThreadUtils.cpp index fedf8d86988..998beeb4d10 100644 --- a/Core/GameEngine/Source/GameNetwork/GameSpy/Thread/ThreadUtils.cpp +++ b/Core/GameEngine/Source/GameNetwork/GameSpy/Thread/ThreadUtils.cpp @@ -65,6 +65,19 @@ std::wstring MultiByteToWideCharSingleLine( const char *orig ) std::string WideCharStringToMultiByte( const WideChar *orig ) { std::string ret; + + // Check for null pointer to prevent crash + if (orig == NULL) + { + return ret; // Return empty string + } + + // Check for empty string to avoid unnecessary processing + if (orig[0] == 0) + { + return ret; // Return empty string + } + Int len = WideCharToMultiByte( CP_UTF8, 0, orig, wcslen(orig), NULL, 0, NULL, NULL ) + 1; if (len > 0) {