summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAdam <Adam@anope.org>2010-06-27 14:41:57 -0400
committerAdam <Adam@anope.org>2010-06-27 14:45:14 -0400
commit6e1fa85cbcf3a0bf3e2e84ea609f37e8b9c7d1fd (patch)
tree98075828953a80853b3fa97ac9b76248ee352919 /src
parent9269d20a704bc4e67533b15772a7d72ac742c6bf (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.cpp6
-rw-r--r--src/users.cpp2
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);