]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_samode.cpp
m_auditorium Handle NULL return from Channel::GetUser() in OnSendWhoLine()
[user/henk/code/inspircd.git] / src / modules / m_samode.cpp
index 9b71992a60888f04f8b27652d7b0e77b725e9048..ea2ae24ab3d525cc5fc56a156e703a8056f9f0c3 100644 (file)
@@ -39,6 +39,16 @@ class CommandSamode : public Command
 
        CmdResult Handle (const std::vector<std::string>& parameters, User *user)
        {
+               if (parameters[0].c_str()[0] != '#')
+               {
+                       User* target = ServerInstance->FindNickOnly(parameters[0]);
+                       if ((!target) || (target->registered != REG_ALL))
+                       {
+                               user->WriteNumeric(ERR_NOSUCHNICK, "%s %s :No such nick/channel", user->nick.c_str(), parameters[0].c_str());
+                               return CMD_FAILURE;
+                       }
+               }
+
                this->active = true;
                ServerInstance->Parser->CallHandler("MODE", parameters, user);
                if (ServerInstance->Modes->GetLastParse().length())