]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_sanick.cpp
Broken code commented out by brain until we can fix it.
[user/henk/code/inspircd.git] / src / modules / m_sanick.cpp
index d929efd4a25f79c0a1ecd4bec9d859edb06b89e0..1452c137647920f4d5bd49f271c5e3a05c0b8db4 100644 (file)
@@ -6,7 +6,7 @@
 #include "channels.h"
 #include "modules.h"
 
-/* $ModDesc: Provides support for unreal-style GLOBOPS and umode +g */
+/* $ModDesc: Provides support for SANICK command */
 
 Server *Srv;
         
@@ -15,8 +15,13 @@ void handle_sanick(char **parameters, int pcnt, userrec *user)
        userrec* source = Srv->FindNick(std::string(parameters[0]));
        if (source)
        {
-               Srv->SendOpers(std::string(user->nick)+" used SANICK to change "+std::String(dest->nick)+" to "+parameters[1]);
-               Srv->ChangeUserNick(source,std::String(parameters[1]));
+               if (Srv->IsNick(std::string(parameters[1])))
+               {
+                       // FIX by brain: Cant use source->nick here because if it traverses a server link then
+                       // source->nick becomes invalid as the object data moves in memory.
+                       Srv->SendOpers(std::string(user->nick)+" used SANICK to change "+std::string(parameters[0])+" to "+parameters[1]);
+                       Srv->ChangeUserNick(source,std::string(parameters[1]));
+               }
        }
 }