From 1e9de0c7f146ec00d2dd6ee4cb9d86860a03ea9f Mon Sep 17 00:00:00 2001 From: Adam- Date: Sun, 11 Apr 2010 00:29:07 +0000 Subject: Return MOD_STOP in various places where the user executing the command had been killed, fixes a crash if a user gets killed for too many invalid passwords git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@2885 5417fbe8-f217-4b02-8779-1006273d7864 --- src/core/ns_ghost.c | 3 ++- src/core/ns_group.c | 3 ++- src/core/ns_identify.c | 3 ++- src/core/ns_recover.c | 3 ++- src/core/ns_release.c | 3 ++- 5 files changed, 10 insertions(+), 5 deletions(-) (limited to 'src/core') diff --git a/src/core/ns_ghost.c b/src/core/ns_ghost.c index 49c36b303..72b02efae 100644 --- a/src/core/ns_ghost.c +++ b/src/core/ns_ghost.c @@ -54,7 +54,8 @@ class CommandNSGhost : public Command if (!res) { Alog() << Config.s_NickServ << ": GHOST: invalid password for " << nick << " by " << u->GetMask(); - bad_password(u); + if (bad_password(u)) + return MOD_STOP; } } } diff --git a/src/core/ns_group.c b/src/core/ns_group.c index 65b655ec7..bdf80d38d 100644 --- a/src/core/ns_group.c +++ b/src/core/ns_group.c @@ -89,7 +89,8 @@ class CommandNSGroup : public Command { Alog() << Config.s_NickServ << ": Failed GROUP for " << u->GetMask() << " (invalid password)"; notice_lang(Config.s_NickServ, u, PASSWORD_INCORRECT); - bad_password(u); + if (bad_password(u)) + return MOD_STOP; } else { diff --git a/src/core/ns_identify.c b/src/core/ns_identify.c index a0a217677..f16b5e84c 100644 --- a/src/core/ns_identify.c +++ b/src/core/ns_identify.c @@ -54,7 +54,8 @@ class CommandNSIdentify : public Command { Alog() << Config.s_NickServ << ": Failed IDENTIFY for " << u->nick << "!" << u->GetIdent() << "@" << u->host; notice_lang(Config.s_NickServ, u, PASSWORD_INCORRECT); - bad_password(u); + if (bad_password(u)) + return MOD_STOP; } else if (res == -1) notice_lang(Config.s_NickServ, u, NICK_IDENTIFY_FAILED); diff --git a/src/core/ns_recover.c b/src/core/ns_recover.c index 0937d6891..3a0a9cedd 100644 --- a/src/core/ns_recover.c +++ b/src/core/ns_recover.c @@ -62,7 +62,8 @@ class CommandNSRecover : public Command if (!res) { Alog() << Config.s_NickServ << ": RECOVER: invalid password for " << nick << " by " << u->GetMask(); - bad_password(u); + if (bad_password(u)) + return MOD_STOP; } } } diff --git a/src/core/ns_release.c b/src/core/ns_release.c index 7ec6f85ee..a4169ecda 100644 --- a/src/core/ns_release.c +++ b/src/core/ns_release.c @@ -51,7 +51,8 @@ class CommandNSRelease : public Command if (!res) { Alog() << Config.s_NickServ << ": RELEASE: invalid password for " << nick << " by " << u->GetMask(); - bad_password(u); + if (bad_password(u)) + return MOD_STOP; } } } -- cgit