]> jfr.im git - irc/quakenet/newserv.git/blobdiff - nick/nickhandlers.c
chanfix: Fix check for null pointer.
[irc/quakenet/newserv.git] / nick / nickhandlers.c
index db4963194074f41d43a21f170dea40695b71411a..b704f31ab27b417764be1c9a1ed0cf7ee1e29926 100644 (file)
@@ -29,7 +29,7 @@ int handlenickmsg(void *source, int cargc, char **cargv) {
   char *fakehost;
   char *accountts;
   char *accountflags;
-  struct irc_in_addr ipaddress;
+  struct irc_in_addr ipaddress, ipaddress_canonical;
   char *accountid;
   unsigned long userid;
   
@@ -144,8 +144,10 @@ int handlenickmsg(void *source, int cargc, char **cargv) {
     np->realname->nicks=np;
     np->timestamp=timestamp;
 
-    base64toip(cargv[cargc-3], &ipaddress);
-    np->ipnode = refnode(iptree, &ipaddress, PATRICIA_MAXBITS);
+    memcpy(&(np->ipaddress), &ipaddress, sizeof(ipaddress));
+
+    ip_canonicalize_tunnel(&ipaddress_canonical, &ipaddress);
+    np->ipnode = refnode(iptree, &ipaddress_canonical, PATRICIA_MAXBITS);
     node_increment_usercount(np->ipnode);
 
     np->away=NULL;
@@ -402,7 +404,6 @@ int handleaccountmsg(void *source, int cargc, char **cargv) {
 
 int handleprivmsg(void *source, int cargc, char **cargv) {
   nick *sender;
-  char *message;
   void *args[3];
 
   if (cargc<2)
@@ -416,8 +417,6 @@ int handleprivmsg(void *source, int cargc, char **cargv) {
   if (!match2strings(cargv[0] + 1,myserver->content))
     return CMD_OK;
 
-  message=cargv[0];
-
   args[0]=sender;
   args[1]=cargv[0];
   args[2]=cargv[1];