From 2da19a0760c007eeab7bea4740286872d7c7b2d8 Mon Sep 17 00:00:00 2001 From: Shivaram Lingamneni Date: Sat, 10 Jan 2026 18:57:49 -0500 Subject: [PATCH] fix #2324 (#2325) Validate user limit parameter --- irc/modes.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/irc/modes.go b/irc/modes.go index 3e7114d1..4c57dd1a 100644 --- a/irc/modes.go +++ b/irc/modes.go @@ -251,9 +251,11 @@ func (channel *Channel) ApplyChannelModeChanges(client *Client, isSamode bool, c switch change.Op { case modes.Add: val, err := strconv.Atoi(change.Arg) - if err == nil { + if err == nil && val > 0 { channel.setUserLimit(val) applied = append(applied, change) + } else { + rb.Add(nil, client.server.name, ERR_INVALIDMODEPARAM, details.nick, chname, string(change.Mode), utils.SafeErrorParam(change.Arg), client.t("+l user limit value must be an integer between 1 and 2147483647, expressed in base 10")) } case modes.Remove: