diff --git a/Core/HLE/HLE.cpp b/Core/HLE/HLE.cpp index 6ee97d7490..cf92c9c472 100644 --- a/Core/HLE/HLE.cpp +++ b/Core/HLE/HLE.cpp @@ -794,10 +794,11 @@ size_t hleFormatLogArgs(char *message, size_t sz, const char *argmask) { case 's': if (Memory::IsValidAddress(regval)) { const char *s = Memory::GetCharPointer(regval); - if (strnlen(s, 64) >= 64) { - APPEND_FMT("%.64s...", Memory::GetCharPointer(regval)); + const int safeLen = Memory::ValidSize(regval, 128); + if (strnlen(s, safeLen) >= safeLen) { + APPEND_FMT("%.*s...", safeLen, Memory::GetCharPointer(regval)); } else { - APPEND_FMT("%s", Memory::GetCharPointer(regval)); + APPEND_FMT("%.*s", safeLen, Memory::GetCharPointer(regval)); } } else { APPEND_FMT("(invalid)");