]> Sergey Matveev's repositories - btrtrc.git/commitdiff
Extra pedantry in chunkIndexSpec
authorMatt Joiner <anacrolix@gmail.com>
Tue, 5 Aug 2025 05:49:34 +0000 (15:49 +1000)
committerMatt Joiner <anacrolix@gmail.com>
Tue, 5 Aug 2025 05:49:34 +0000 (15:49 +1000)
misc.go

diff --git a/misc.go b/misc.go
index ba4597ed7cdc86e4be713431917042bfbbb3d45b..b0016781e1623af71331740e7c0e194bdc662635 100644 (file)
--- 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 {