diff options
| author | jackpoz <giacomopoz@gmail.com> | 2014-03-09 17:09:15 +0100 |
|---|---|---|
| committer | jackpoz <giacomopoz@gmail.com> | 2014-03-09 17:09:15 +0100 |
| commit | d3575972709e0b3df87781ddfec51d8836f13257 (patch) | |
| tree | 9a35ac26eeb26cf63a5b628fe8ec60215c52728c /src | |
| parent | de91f716a4ed50c8f660c004528edaca5d0edd0f (diff) | |
Scripts/Commands: Fix crash in ".kick" command
Fix a NULL dereference exception happening when using .kick command caused by a strtok(NULL) call without a previous call to the string to be tokenized.
Issue added in 101cad1f2872a87be925b74b9d17760381bb9808
Diffstat (limited to 'src')
| -rw-r--r-- | src/server/scripts/Commands/cs_misc.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/server/scripts/Commands/cs_misc.cpp b/src/server/scripts/Commands/cs_misc.cpp index 6de8a155d01..d0c21168c80 100644 --- a/src/server/scripts/Commands/cs_misc.cpp +++ b/src/server/scripts/Commands/cs_misc.cpp @@ -809,10 +809,13 @@ public: if (handler->HasLowerSecurity(target, 0)) return false; - char const* kickReason = strtok(NULL, "\r"); std::string kickReasonStr = "No reason"; - if (kickReason != NULL) - kickReasonStr = kickReason; + if (*args != '\0') + { + char const* kickReason = strtok(NULL, "\r"); + if (kickReason != NULL) + kickReasonStr = kickReason; + } if (sWorld->getBoolConfig(CONFIG_SHOW_KICK_IN_WORLD)) sWorld->SendWorldText(LANG_COMMAND_KICKMESSAGE_WORLD, (handler->GetSession() ? handler->GetSession()->GetPlayerName().c_str() : "Server"), playerName.c_str(), kickReasonStr.c_str()); |
