From: Matt Joiner Date: Fri, 18 Jul 2025 13:08:33 +0000 (+1000) Subject: Fix panic when setting info bytes after Torrent closed X-Git-Tag: v1.59.0~11 X-Git-Url: http://www.git.stargrave.org/?a=commitdiff_plain;h=d67b324a7be084b01b14e511839b002f9d0f38be;p=btrtrc.git Fix panic when setting info bytes after Torrent closed --- diff --git a/torrent.go b/torrent.go index 104733f9..c4ba4ecb 100644 --- a/torrent.go +++ b/torrent.go @@ -1827,6 +1827,10 @@ func (t *Torrent) bytesCompleted() int64 { func (t *Torrent) SetInfoBytes(b []byte) (err error) { t.cl.lock() defer t.cl.unlock() + err = t.getClosedErr() + if err != nil { + return + } return t.setInfoBytesLocked(b) } @@ -3521,3 +3525,10 @@ func (t *Torrent) wantReceiveChunk(reqIndex RequestIndex) bool { } return true } + +func (t *Torrent) getClosedErr() error { + if t.closed.IsSet() { + return errTorrentClosed + } + return nil +}