From 1feb53939d7c1e452d0ac05489644f291f26d601 Mon Sep 17 00:00:00 2001 From: Treeston Date: Thu, 8 Oct 2020 16:45:20 +0200 Subject: Core/ChatCommands: Fix a potential crash if a custom chat command does not have a specified help string (cherry picked from commit 3ec98bf2410bb8fa73fe6b386a6e766bef575e97) --- src/server/game/Chat/ChatCommands/ChatCommand.cpp | 7 ++++++- src/server/game/Miscellaneous/Language.h | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/server/game/Chat/ChatCommands/ChatCommand.cpp b/src/server/game/Chat/ChatCommands/ChatCommand.cpp index 6d1ac20930a..d9c56042ef1 100644 --- a/src/server/game/Chat/ChatCommands/ChatCommand.cpp +++ b/src/server/game/Chat/ChatCommands/ChatCommand.cpp @@ -173,8 +173,13 @@ void Trinity::Impl::ChatCommands::ChatCommandNode::SendCommandHelp(ChatHandler& { if (std::holds_alternative(_help)) handler.SendSysMessage(std::get(_help)); - else + else if (std::holds_alternative(_help)) handler.SendSysMessage(std::get(_help)); + else + { + handler.PSendSysMessage(LANG_CMD_HELP_GENERIC, STRING_VIEW_FMT_ARG(_name)); + handler.PSendSysMessage(LANG_CMD_NO_HELP_AVAILABLE, STRING_VIEW_FMT_ARG(_name)); + } } bool header = false; diff --git a/src/server/game/Miscellaneous/Language.h b/src/server/game/Miscellaneous/Language.h index 993fff7aa79..117a6cc2e29 100644 --- a/src/server/game/Miscellaneous/Language.h +++ b/src/server/game/Miscellaneous/Language.h @@ -237,7 +237,7 @@ enum TrinityStrings LANG_SUBCMD_INVALID = 193, LANG_CMD_AMBIGUOUS = 194, LANG_CMD_HELP_GENERIC = 195, - LANG_CMD_NO_HELP_AVAILABLE = 196, // 3.3.5 RESERVED + LANG_CMD_NO_HELP_AVAILABLE = 196, // Room for more level 1 197-199 not used // level 2 chat -- cgit v1.2.3