summaryrefslogtreecommitdiff
path: root/modules/commands/cs_kick.cpp
diff options
context:
space:
mode:
authorAdam <Adam@anope.org>2011-12-05 11:52:40 -0500
committerAdam <Adam@anope.org>2011-12-05 11:52:40 -0500
commitaeefe1650e29e5905cfe212958622663a4ceb6c4 (patch)
tree051fbff6bb0356d0e20988754b7e213668dea3be /modules/commands/cs_kick.cpp
parentc80e7844b7fc76de944e338dd0c2634df054cf44 (diff)
Bug #1364 - fixed crash in /cs kick
Diffstat (limited to 'modules/commands/cs_kick.cpp')
-rw-r--r--modules/commands/cs_kick.cpp13
1 files changed, 10 insertions, 3 deletions
diff --git a/modules/commands/cs_kick.cpp b/modules/commands/cs_kick.cpp
index 84c064a48..5ab3ae5d3 100644
--- a/modules/commands/cs_kick.cpp
+++ b/modules/commands/cs_kick.cpp
@@ -33,13 +33,20 @@ class CommandCSKick : public Command
Channel *c = findchan(params[0]);
User *u2 = finduser(target);
- AccessGroup u_access = ci->AccessFor(u);
-
if (!c)
+ {
source.Reply(CHAN_X_NOT_IN_USE, chan.c_str());
+ return;
+ }
else if (!ci)
+ {
source.Reply(CHAN_X_NOT_REGISTERED, chan.c_str());
- else if (!ci->AccessFor(u).HasPriv("KICK"))
+ return;
+ }
+
+ AccessGroup u_access = ci->AccessFor(u);
+
+ if (!u_access.HasPriv("KICK"))
source.Reply(ACCESS_DENIED);
else if (u2)
{