diff options
author | Adam <Adam@anope.org> | 2010-06-27 14:41:57 -0400 |
---|---|---|
committer | Adam <Adam@anope.org> | 2010-06-27 14:45:14 -0400 |
commit | 6e1fa85cbcf3a0bf3e2e84ea609f37e8b9c7d1fd (patch) | |
tree | 98075828953a80853b3fa97ac9b76248ee352919 /src | |
parent | 9269d20a704bc4e67533b15772a7d72ac742c6bf (diff) |
Log out users from their groups when they disconnect, keeps us from storing invalid pointers in the nickcore user list
Diffstat (limited to 'src')
-rw-r--r-- | src/core/ns_drop.cpp | 6 | ||||
-rw-r--r-- | 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); |