From dafe0b0b50312278e685eb2fc71696f9a1b8e94e Mon Sep 17 00:00:00 2001 From: Emik Date: Fri, 30 May 2025 15:58:16 +0200 Subject: [PATCH] Fix bounds check This addresses an erroneous bounds check that allowed the element after the last to be pinned. --- src/Shared/Buffers.MemoryPool/DiagnosticPoolBlock.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Shared/Buffers.MemoryPool/DiagnosticPoolBlock.cs b/src/Shared/Buffers.MemoryPool/DiagnosticPoolBlock.cs index d2c0dfd18917..d1720128416e 100644 --- a/src/Shared/Buffers.MemoryPool/DiagnosticPoolBlock.cs +++ b/src/Shared/Buffers.MemoryPool/DiagnosticPoolBlock.cs @@ -138,7 +138,7 @@ public override MemoryHandle Pin(int byteOffset = 0) MemoryPoolThrowHelper.ThrowInvalidOperationException_BlockIsBackedByDisposedSlab(this); } - if (byteOffset < 0 || byteOffset > _memory.Length) + if ((uint)byteOffset >= (uint)_memory.Length) { MemoryPoolThrowHelper.ThrowArgumentOutOfRangeException(_memory.Length, byteOffset); }