From d67b324a7be084b01b14e511839b002f9d0f38be Mon Sep 17 00:00:00 2001 From: Matt Joiner Date: Fri, 18 Jul 2025 23:08:33 +1000 Subject: [PATCH] Fix panic when setting info bytes after Torrent closed --- torrent.go | 11 +++++++++++ 1 file changed, 11 insertions(+) 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 +} -- 2.51.0