diff options
author | Treeston <treeston.mmoc@gmail.com> | 2020-10-08 16:45:20 +0200 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2022-02-28 15:54:08 +0100 |
commit | 1feb53939d7c1e452d0ac05489644f291f26d601 (patch) | |
tree | cd0277df5973be2486e3218057125ba64d0a2124 /src | |
parent | 94a3b3d5418d08d7c7c603136aa8c6fc109c8a3b (diff) |
Core/ChatCommands: Fix a potential crash if a custom chat command does not have a specified help string
(cherry picked from commit 3ec98bf2410bb8fa73fe6b386a6e766bef575e97)
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Chat/ChatCommands/ChatCommand.cpp | 7 | ||||
-rw-r--r-- | src/server/game/Miscellaneous/Language.h | 2 |
2 files changed, 7 insertions, 2 deletions
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<TrinityStrings>(_help)) handler.SendSysMessage(std::get<TrinityStrings>(_help)); - else + else if (std::holds_alternative<std::string>(_help)) handler.SendSysMessage(std::get<std::string>(_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 |