From 8e0c256c472f6cb80b66159fc3a4aa63b532ee95 Mon Sep 17 00:00:00 2001 From: Simon Ser Date: Thu, 25 Apr 2024 20:06:13 +0200 Subject: [PATCH] upstream: fix panic on malformed RPL_CHANNELMODEIS --- upstream.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/upstream.go b/upstream.go index ca17ea8..f04fb8c 100644 --- a/upstream.go +++ b/upstream.go @@ -1389,8 +1389,10 @@ func (uc *upstreamConn) handleMessage(ctx context.Context, msg *irc.Message) err return err } modeStr := "" + var modeArgs []string if len(msg.Params) > 2 { modeStr = msg.Params[2] + modeArgs = msg.Params[3:] } ch := uc.channels.Get(channel) @@ -1401,7 +1403,7 @@ func (uc *upstreamConn) handleMessage(ctx context.Context, msg *irc.Message) err firstMode := ch.modes == nil ch.modes = make(map[byte]string) - if err := applyChannelModes(ch, modeStr, msg.Params[3:]); err != nil { + if err := applyChannelModes(ch, modeStr, modeArgs); err != nil { return err }