From d3575972709e0b3df87781ddfec51d8836f13257 Mon Sep 17 00:00:00 2001 From: jackpoz Date: Sun, 9 Mar 2014 17:09:15 +0100 Subject: 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 --- src/server/scripts/Commands/cs_misc.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'src/server/scripts') 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()); -- cgit v1.2.3