From ab1a5b7fc8fca3b6540a49c39fc00cb63f16dc6a Mon Sep 17 00:00:00 2001 From: Shauren Date: Sun, 25 Apr 2021 14:22:30 +0200 Subject: Core/Commands: Fixed logging gm commands that accept hyperlink arguments and use legacy handlers Closes #26462 --- src/server/game/Chat/ChatCommands/ChatCommand.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/server/game/Chat/ChatCommands/ChatCommand.h b/src/server/game/Chat/ChatCommands/ChatCommand.h index b1c9896909f..9520a7ce7dd 100644 --- a/src/server/game/Chat/ChatCommands/ChatCommand.h +++ b/src/server/game/Chat/ChatCommands/ChatCommand.h @@ -147,7 +147,10 @@ namespace Trinity::Impl::ChatCommands { _wrapper = [](void* handler, ChatHandler* chatHandler, std::string_view argsStr) { - return reinterpret_cast(handler)(chatHandler, argsStr.empty() ? "" : argsStr.data()); + // make a copy of the argument string + // legacy handlers can destroy input strings with strtok + std::string argsStrCopy(argsStr); + return reinterpret_cast(handler)(chatHandler, argsStrCopy.c_str()); }; _handler = reinterpret_cast(handler); } -- cgit v1.2.3