From 71964c6292fb28e0e1f1550317e558eda964d7f1 Mon Sep 17 00:00:00 2001 From: Krishnam Dhanush Date: Thu, 18 Jun 2026 09:13:47 +0000 Subject: [PATCH] fix: handle negative offset cases --- testbench/grpc_server.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/testbench/grpc_server.py b/testbench/grpc_server.py index 7a408469..4f8bbdcf 100644 --- a/testbench/grpc_server.py +++ b/testbench/grpc_server.py @@ -591,6 +591,8 @@ def ReadObject(self, request, context): meta = blob.metadata size = storage_pb2.ServiceConstants.Values.MAX_READ_CHUNK_BYTES start = request.read_offset + if start < 0: + start = max(0, len(blob.media) + start) read_end = len(blob.media) if start > read_end: return testbench.error.range_not_satisfiable(context) @@ -717,6 +719,8 @@ def process_read_range(range): # A read range corresponds to a unique read_id. # For the same read_id, it is guaranteed that responses are delivered in increasing offset order. start = range.read_offset + if start < 0: + start = max(0, len(blob.media) + start) read_end = len(blob.media) read_id = range.read_id