From e0baa6a82d715989f1268b7f35e62f6ebe934ad8 Mon Sep 17 00:00:00 2001 From: Matt Joiner Date: Tue, 5 Aug 2025 15:49:34 +1000 Subject: [PATCH] Extra pedantry in chunkIndexSpec --- misc.go | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/misc.go b/misc.go index ba4597ed..b0016781 100644 --- a/misc.go +++ b/misc.go @@ -6,6 +6,7 @@ import ( "github.com/RoaringBitmap/roaring" "github.com/anacrolix/missinggo/v2" + "github.com/anacrolix/missinggo/v2/panicif" "golang.org/x/time/rate" "github.com/anacrolix/torrent/metainfo" @@ -105,11 +106,12 @@ func validateInfo(info *metainfo.Info) error { } func chunkIndexSpec(index, pieceLength, chunkSize pp.Integer) ChunkSpec { - ret := ChunkSpec{index * chunkSize, chunkSize} - if ret.Begin+ret.Length > pieceLength { - ret.Length = pieceLength - ret.Begin + begin := index * chunkSize + panicif.GreaterThanOrEqual(begin, pieceLength) + return ChunkSpec{ + Begin: begin, + Length: min(chunkSize, pieceLength-begin), } - return ret } func comparePeerTrust(l, r *Peer) int { -- 2.51.0