From 6a52011244bb7ebfc2d9d5087f6bdcc22350048f Mon Sep 17 00:00:00 2001 From: "B.Greenham" Date: Sun, 28 Feb 2010 12:07:16 -0500 Subject: [PATCH] Fix m_kick so that it checks if you're trying to kick the target, not yourself. --- modules/core/m_kick.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/modules/core/m_kick.c b/modules/core/m_kick.c index 368c715..7efabbb 100644 --- a/modules/core/m_kick.c +++ b/modules/core/m_kick.c @@ -86,6 +86,13 @@ m_kick(struct Client *client_p, struct Client *source_p, int parc, const char *p return 0; } + user = parv[2]; /* strtoken(&p2, parv[2], ","); */ + + if(!(who = find_chasing(source_p, user, &chasing))) + { + return 0; + } + if(!IsServer(source_p)) { msptr = find_channel_membership(chptr, source_p); @@ -97,7 +104,7 @@ m_kick(struct Client *client_p, struct Client *source_p, int parc, const char *p return 0; } - if(!can_kick_deop(msptr, find_channel_membership(chptr, client_p)) && !IsOverride(source_p)) + if(!can_kick_deop(msptr, find_channel_membership(chptr, who)) && !IsOverride(source_p)) { if(MyConnect(source_p)) { @@ -140,13 +147,6 @@ m_kick(struct Client *client_p, struct Client *source_p, int parc, const char *p if((p = strchr(parv[2], ','))) *p = '\0'; - user = parv[2]; /* strtoken(&p2, parv[2], ","); */ - - if(!(who = find_chasing(source_p, user, &chasing))) - { - return 0; - } - msptr = find_channel_membership(chptr, who); if(msptr != NULL)