From 09ba0ad6ae585f74be92e551ea2d95ef435554d0 Mon Sep 17 00:00:00 2001 From: pk910 Date: Wed, 4 Jul 2012 15:07:41 +0200 Subject: [PATCH] fixed double join bug in m_relay.c: users could join a channel having +a set multiple times --- ircd/m_relay.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ircd/m_relay.c b/ircd/m_relay.c index 96676cd..3f0dcf6 100644 --- a/ircd/m_relay.c +++ b/ircd/m_relay.c @@ -65,6 +65,8 @@ static void mode_a_join(struct Client* cptr, char *channel, int flags) { } } else { struct JoinBuf join; + if(find_member_link(chptr, cptr)) + return; //we have already joined this channel joinbuf_init(&join, cptr, cptr, JOINBUF_TYPE_JOIN, 0, 0); joinbuf_join(&join, chptr, flags); del_invite(cptr, chptr); -- 2.20.1