From: Matt Joiner Date: Tue, 27 May 2025 07:52:24 +0000 (+1000) Subject: Fix panic in Client.WriteStatus if info isn't available X-Git-Tag: v1.59.0~109 X-Git-Url: http://www.git.stargrave.org/?a=commitdiff_plain;h=61d6f2b2976753d2c115334d641104b0f0c8b60c;p=btrtrc.git Fix panic in Client.WriteStatus if info isn't available --- diff --git a/client.go b/client.go index 709f74e3..76694ec9 100644 --- a/client.go +++ b/client.go @@ -186,7 +186,13 @@ func (cl *Client) WriteStatus(_w io.Writer) { slices.SortFunc(torrentsSlice, func(a, b *Torrent) int { return cmp.Or( compareBool(a.haveInfo(), b.haveInfo()), - -cmp.Compare(a.bytesLeft(), b.bytesLeft()), + func() int { + if a.haveInfo() && b.haveInfo() { + return -cmp.Compare(a.bytesLeft(), b.bytesLeft()) + } else { + return 0 + } + }(), cmp.Compare(a.canonicalShortInfohash().AsString(), b.canonicalShortInfohash().AsString()), ) })