From 3ec98bf2410bb8fa73fe6b386a6e766bef575e97 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 --- src/server/game/Chat/ChatCommands/ChatCommand.cpp | 7 ++++++- src/server/game/Miscellaneous/Language.h | 3 ++- 2 files changed, 8 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 add4d4a0686..f8b01feca33 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 ea9bad65960..643699317eb 100644 --- a/src/server/game/Miscellaneous/Language.h +++ b/src/server/game/Miscellaneous/Language.h @@ -229,7 +229,8 @@ enum TrinityStrings LANG_SUBCMD_INVALID = 193, LANG_CMD_AMBIGUOUS = 194, LANG_CMD_HELP_GENERIC = 195, - // Room for more level 1 196-199 not used + LANG_CMD_NO_HELP_AVAILABLE = 196, + // Room for more level 1 197-199 not used // level 2 chat LANG_NO_SELECTION = 200, -- cgit v1.2.3