Skip to content

Commit 1a965a3

Browse files
committed
Add assert to EnsureCurrentChunk
1 parent 7c0c786 commit 1a965a3

1 file changed

Lines changed: 7 additions & 0 deletions

File tree

src/Lucene.Net/Support/Store/UnsafeChunkIndexInput.cs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
using Lucene.Net.Diagnostics;
12
using Lucene.Net.Support;
23
using System;
34
using System.Buffers.Binary;
@@ -461,6 +462,12 @@ private void EnsureCurrentChunk(long windowPos)
461462

462463
long globalPos = baseOffset + windowPos;
463464
int chunkIdx = (int)(globalPos >> chunkSizePower);
465+
466+
if (Debugging.AssertsEnabled) Debugging.Assert((uint)chunkIdx < (uint)ChunkCount,
467+
$"Computed chunk index {chunkIdx} is outside the valid range [0, {ChunkCount}). " +
468+
$"windowPos={windowPos}, globalPos={globalPos}, baseOffset={baseOffset}, " +
469+
$"length={length}, chunkSizePower={chunkSizePower}");
470+
464471
byte* chunkBase = ChunkBase(chunkIdx);
465472

466473
long chunkFileStart = (long)chunkIdx << chunkSizePower;

0 commit comments

Comments
 (0)