]> 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 74cc608dd7abc4c58b74c674d0c34e11be9d4a0e..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;