Skip to content

Commit ceedc5b

Browse files
committed
Correctly handle seek in empty cached blob.
1 parent b930d14 commit ceedc5b

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

src/remote/client/interface.cpp

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6883,10 +6883,13 @@ int Blob::seek(CheckStatusWrapper* status, int mode, int offset)
68836883
fb_assert(blob->rbl_info.num_segments <= 1);
68846884
fb_assert(blob->rbl_info.total_length <= MAX_USHORT);
68856885

6886-
blob->rbl_ptr = blob->rbl_buffer + offset + 2;
68876886
blob->rbl_offset = offset;
6888-
blob->rbl_length = blob->rbl_data.end() - blob->rbl_ptr;
6889-
blob->rbl_fragment_length = blob->rbl_length;
6887+
if (!blob->rbl_data.isEmpty())
6888+
{
6889+
blob->rbl_ptr = blob->rbl_buffer + offset + 2;
6890+
blob->rbl_length = blob->rbl_data.end() - blob->rbl_ptr;
6891+
blob->rbl_fragment_length = blob->rbl_length;
6892+
}
68906893
blob->rbl_flags &= ~(Rbl::EOF_SET | Rbl::SEGMENT);
68916894
return blob->rbl_offset;
68926895
}

0 commit comments

Comments
 (0)