42wim / matterircd

Connect to your mattermost or slack using your IRC-client of choice.
MIT License
295 stars 60 forks source link

nil pointer dereference in mm-go-irckit.CmdPrivMsg (2) #251

Closed dansimau closed 4 years ago

dansimau commented 5 years ago

On 7451baa:

time="2019-05-07T16:18:24+02:00" level=debug msg="B: \"<- PRIVMSG redacted :hey\"\n" module=matterircd
time="2019-05-07T16:18:25+02:00" level=debug msg="flushing buffer: &irc.Message{Prefix:(*irc.Prefix)(nil), Command:\"PRIVMSG\", Params:[]string{\"redacted\"}, Trailing:\"hey\", EmptyTrailing:false}\n" module=matterircd
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x8 pc=0x8f008b]

goroutine 19296 [running]:
github.com/42wim/matterircd/mm-go-irckit.CmdPrivMsg(0xb2ba40, 0xc000097520, 0xc0000e5cc0, 0xc02b5cf0e0, 0xc0001dab70, 0xc005193a01)
        /home/dan/.go/src/github.com/42wim/matterircd/mm-go-irckit/server_commands.go:498 +0xbdb
github.com/42wim/matterircd/mm-go-irckit.commands.Run(0xc0001a1aa0, 0xb2ba40, 0xc000097520, 0xc0000e5cc0, 0xc02b5cf0e0, 0x0, 0x0)
        /home/dan/.go/src/github.com/42wim/matterircd/mm-go-irckit/commands.go:57 +0x159
github.com/42wim/matterircd/mm-go-irckit.(*server).handle.func1(0xc000097520, 0xc0000e5cc0, 0xc000010020)
        /home/dan/.go/src/github.com/42wim/matterircd/mm-go-irckit/server.go:365 +0x7d
created by github.com/42wim/matterircd/mm-go-irckit.(*server).handle
        /home/dan/.go/src/github.com/42wim/matterircd/mm-go-irckit/server.go:364 +0x108

This is similar to #247. Not sure if this is the connection being nil, or something else. But presumably the connection can still be closed after the nil check.

42wim commented 5 years ago

Hm yes, but strange that you get hit by this again. Do you have a flaky mattermost connecion? Or anything else special?

42wim commented 4 years ago

should be fixed