From 6e1fa85cbcf3a0bf3e2e84ea609f37e8b9c7d1fd Mon Sep 17 00:00:00 2001 From: Adam Date: Sun, 27 Jun 2010 14:41:57 -0400 Subject: [PATCH] Log out users from their groups when they disconnect, keeps us from storing invalid pointers in the nickcore user list --- src/core/ns_drop.cpp | 6 ++++-- src/users.cpp | 2 ++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/core/ns_drop.cpp b/src/core/ns_drop.cpp index 7994e4e7c..e18492bfd 100644 --- a/src/core/ns_drop.cpp +++ b/src/core/ns_drop.cpp @@ -90,10 +90,12 @@ class CommandNSDrop : public Command notice_lang(Config.s_NickServ, u, NICK_X_DROPPED, nick); else notice_lang(Config.s_NickServ, u, NICK_DROPPED); - if (my_nick) - delete [] my_nick; } } + + if (my_nick) + delete [] my_nick; + return MOD_CONT; } diff --git a/src/users.cpp b/src/users.cpp index e4a0134eb..9d94f7c0f 100644 --- a/src/users.cpp +++ b/src/users.cpp @@ -201,6 +201,8 @@ User::~User() { Alog(LOG_DEBUG_2) << "User::~User() called"; + this->Logout(); + if (Config.LogUsers) { const char *srealname = normalizeBuffer(this->realname);