3
0
mirror of https://github.com/ergochat/ergo.git synced 2024-11-25 13:29:27 +01:00

always validate UTF8 from websockets

This commit is contained in:
Shivaram Lingamneni 2023-01-22 14:42:58 -05:00
parent 9439e9b9e1
commit abc71684f3

View File

@ -133,7 +133,7 @@ func (wc *IRCWSConn) WriteLines(buffers [][]byte) (err error) {
}
func (wc *IRCWSConn) ReadLine() (line []byte, err error) {
messageType, reader, err := wc.conn.NextReader()
_, reader, err := wc.conn.NextReader()
switch err {
case nil:
// OK
@ -148,7 +148,7 @@ func (wc *IRCWSConn) ReadLine() (line []byte, err error) {
case io.ErrUnexpectedEOF, io.EOF:
// these are OK. io.ErrUnexpectedEOF is the good case:
// it means we read the full message and it consumed less than the full wc.buf
if messageType == websocket.BinaryMessage && !utf8.Valid(line) {
if !utf8.Valid(line) {
return line, errInvalidUtf8
}
return line, nil