]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/whois.cpp
Fix null dereference caused by tracking dummy
[user/henk/code/inspircd.git] / src / whois.cpp
index fc24d0c8231463f2d3485492ccf960a93dbbe3b8..29056644679b82621b2ec37005a3b4b3c4d195d0 100644 (file)
@@ -34,13 +34,13 @@ void InspIRCd::DoWhois(User* user, User* dest,unsigned long signon, unsigned lon
                        user->SplitChanList(dest,scl);
                }
        }
-       if (user != dest && *this->Config->HideWhoisServer && !user->HasPrivPermission("servers/auspex"))
+       if (user != dest && !this->Config->HideWhoisServer.empty() && !user->HasPrivPermission("servers/auspex"))
        {
-               this->SendWhoisLine(user, dest, 312, "%s %s %s :%s",user->nick.c_str(), dest->nick.c_str(), this->Config->HideWhoisServer, this->Config->Network);
+               this->SendWhoisLine(user, dest, 312, "%s %s %s :%s",user->nick.c_str(), dest->nick.c_str(), this->Config->HideWhoisServer.c_str(), this->Config->Network.c_str());
        }
        else
        {
-               this->SendWhoisLine(user, dest, 312, "%s %s %s :%s",user->nick.c_str(), dest->nick.c_str(), dest->server, this->GetServerDescription(dest->server).c_str());
+               this->SendWhoisLine(user, dest, 312, "%s %s %s :%s",user->nick.c_str(), dest->nick.c_str(), dest->server.c_str(), this->GetServerDescription(dest->server).c_str());
        }
 
        if (IS_AWAY(dest))
@@ -53,7 +53,7 @@ void InspIRCd::DoWhois(User* user, User* dest,unsigned long signon, unsigned lon
                if (this->Config->GenericOper)
                        this->SendWhoisLine(user, dest, 313, "%s %s :is an IRC operator",user->nick.c_str(), dest->nick.c_str());
                else
-                       this->SendWhoisLine(user, dest, 313, "%s %s :is %s %s on %s",user->nick.c_str(), dest->nick.c_str(), (strchr("AEIOUaeiou",dest->oper[0]) ? "an" : "a"),irc::Spacify(dest->oper.c_str()), this->Config->Network);
+                       this->SendWhoisLine(user, dest, 313, "%s %s :is %s %s on %s",user->nick.c_str(), dest->nick.c_str(), (strchr("AEIOUaeiou",dest->oper[0]) ? "an" : "a"),irc::Spacify(dest->oper.c_str()), this->Config->Network.c_str());
        }
 
        if (user == dest || user->HasPrivPermission("users/auspex"))
@@ -68,7 +68,7 @@ void InspIRCd::DoWhois(User* user, User* dest,unsigned long signon, unsigned lon
                }
        }
 
-       FOREACH_MOD_I(this, I_OnWhois,OnWhois(user,dest));
+       FOREACH_MOD(I_OnWhois,OnWhois(user,dest));
 
        /*
         * We only send these if we've been provided them. That is, if hidewhois is turned off, and user is local, or