]> jfr.im git - irc/rqf/shadowircd.git/blobdiff - src/s_user.c
[svn] Fix a memory leak.
[irc/rqf/shadowircd.git] / src / s_user.c
index 91f30dd83c8d4786b840589f77097f75b20b73d9..6e25ced11e174b470bcaf5412081ff150c567a8c 100644 (file)
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: s_user.c 3414 2007-04-15 16:54:50Z jilles $
+ *  $Id: s_user.c 3542 2007-08-01 20:18:12Z jilles $
  */
 
 #include "stdinc.h"
@@ -147,6 +147,14 @@ int user_modes[256] = {
 int
 show_lusers(struct Client *source_p)
 {
+       if(dlink_list_length(&lclient_list) > (unsigned long)MaxClientCount)
+               MaxClientCount = dlink_list_length(&lclient_list);
+
+       if((dlink_list_length(&lclient_list) + dlink_list_length(&serv_list)) >
+          (unsigned long)MaxConnectionCount)
+               MaxConnectionCount = dlink_list_length(&lclient_list) + 
+                                       dlink_list_length(&serv_list);
+
        sendto_one_numeric(source_p, RPL_LUSERCLIENT, form_str(RPL_LUSERCLIENT),
                           (Count.total - Count.invisi),
                           Count.invisi, dlink_list_length(&global_serv_list));
@@ -185,14 +193,6 @@ show_lusers(struct Client *source_p)
                           MaxConnectionCount, MaxClientCount, 
                           Count.totalrestartcount);
 
-       if(dlink_list_length(&lclient_list) > (unsigned long)MaxClientCount)
-               MaxClientCount = dlink_list_length(&lclient_list);
-
-       if((dlink_list_length(&lclient_list) + dlink_list_length(&serv_list)) >
-          (unsigned long)MaxConnectionCount)
-               MaxConnectionCount = dlink_list_length(&lclient_list) + 
-                                       dlink_list_length(&serv_list);
-
        return 0;
 }
 
@@ -528,6 +528,7 @@ register_local_user(struct Client *client_p, struct Client *source_p, const char
                Count.invisi++;
 
        s_assert(!IsClient(source_p));
+       del_unknown_ip(source_p);
        dlinkMoveNode(&source_p->localClient->tnode, &unknown_list, &lclient_list);
        SetClient(source_p);