diff options
| author | Peter Keresztes Schmidt <carbenium@outlook.com> | 2020-08-20 00:46:52 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-08-20 00:46:52 +0200 |
| commit | 4286e7aa02e777268b25d8a5bcc1ee87f7b16c4d (patch) | |
| tree | 13c9a4c4be3ae749a0301f0e397051a98a10f339 /src/server/game/Chat/ChatCommands | |
| parent | 9c9e8c7d58cd0e939330089cfb555945ebbf73eb (diff) | |
Core/ChatCommands: Check whether a passed numeric enum value is valid (#25285)
Diffstat (limited to 'src/server/game/Chat/ChatCommands')
| -rw-r--r-- | src/server/game/Chat/ChatCommands/ChatCommandArgs.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/server/game/Chat/ChatCommands/ChatCommandArgs.h b/src/server/game/Chat/ChatCommands/ChatCommandArgs.h index d7fa5cf65db..2e33384ee42 100644 --- a/src/server/game/Chat/ChatCommands/ChatCommandArgs.h +++ b/src/server/game/Chat/ChatCommands/ChatCommandArgs.h @@ -193,7 +193,11 @@ struct ArgInfo<T, std::enable_if_t<std::is_enum_v<T>>> U uVal = 0; ret = ArgInfo<U>::TryConsume(uVal, args); if (ret) + { val = static_cast<T>(uVal); + if (!EnumUtils::IsValid(val)) + return nullptr; + } return ret; } |
