From d99a0d84bf3f473a5b78cf8b16b72c7ca927fdb0 Mon Sep 17 00:00:00 2001
From: Georg Pfuetzenreuter
Date: Wed, 2 Oct 2024 21:40:30 +0200
Subject: Strip formatting codes

To allow for correct parsing of messages containing formatting codes and
to avoid exploitation of unparseable messages, strip all formatting
codes from a message when entering the parsing chain.

Signed-off-by: Georg Pfuetzenreuter <mail@georg-pfuetzenreuter.net>
---
 wat/bot.go | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

(limited to 'wat')

diff --git a/wat/bot.go b/wat/bot.go
index 41c030f..ffa6d8b 100644
--- a/wat/bot.go
+++ b/wat/bot.go
@@ -6,6 +6,7 @@ import (
 	"strings"
 
 	"github.com/go-irc/irc"
+	"github.com/ergochat/irc-go/ircfmt"
 )
 
 type WatBot struct {
@@ -104,7 +105,7 @@ func (w *WatBot) Msg(m *irc.Message) {
 	}
 
 	// fieldsfunc allows you to obtain rune separated fields/args
-	args := strings.FieldsFunc(m.Params[1], func(c rune) bool { return c == ' ' })
+	args := strings.FieldsFunc(ircfmt.Strip(m.Params[1]), func(c rune) bool { return c == ' ' })
 
 	if len(args) == 0 {
 		return
-- 
cgit v1.2.3