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) {