From aeefe1650e29e5905cfe212958622663a4ceb6c4 Mon Sep 17 00:00:00 2001 From: Adam Date: Mon, 5 Dec 2011 11:52:40 -0500 Subject: [PATCH] Bug #1364 - fixed crash in /cs kick --- modules/commands/cs_kick.cpp | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 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); + 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()); + return; + } + AccessGroup u_access = ci->AccessFor(u); - if (!c) - source.Reply(CHAN_X_NOT_IN_USE, chan.c_str()); - else if (!ci) - source.Reply(CHAN_X_NOT_REGISTERED, chan.c_str()); - else if (!ci->AccessFor(u).HasPriv("KICK")) + if (!u_access.HasPriv("KICK")) source.Reply(ACCESS_DENIED); else if (u2) {