~emersion/soju

480d771a676e5ded3378983d953cf6e197d0093a — Simon Ser 2 months ago 43aa3e5
Fix panic in downstreamConn.sendNetworkHistory

This panic happens when sending history to a multi-upstream client.
sendNetworkHistory is called on each network, but dc.network is nil.

Closes: https://todo.sr.ht/~emersion/soju/93
1 files changed, 2 insertions(+), 2 deletions(-)

M downstream.go
M downstream.go => downstream.go +2 -2
@@ 886,7 886,7 @@ func (dc *downstreamConn) sendNetworkHistory(net *network) {
		}

		limit := 4000
		history, err := loadHistoryLatestID(dc.network, target, lastDelivered, limit)
		history, err := loadHistoryLatestID(net, target, lastDelivered, limit)
		if err != nil {
			dc.logger.Printf("failed to send implicit history for %q: %v", target, err)
			continue


@@ 970,7 970,7 @@ func (dc *downstreamConn) handleMessageRegistered(msg *irc.Message) error {
		if destination != "" && destination != dc.srv.Hostname {
			return ircError{&irc.Message{
				Command: irc.ERR_NOSUCHSERVER,
				Params: []string{dc.nick, destination, "No such server"},
				Params:  []string{dc.nick, destination, "No such server"},
			}}
		}
		dc.SendMessage(&irc.Message{