Skip to content

Commit 6982c3c

Browse files
committed
Permit end of buffer IPC reads if length is 0
Change-Id: Id0508a1a282738ab0346141b7718a050ac1fb2ba
1 parent 4d46c8b commit 6982c3c

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed

cpp/src/arrow/ipc/adapter.cc

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -402,7 +402,13 @@ class RecordBatchReader {
402402

403403
Status GetBuffer(int buffer_index, std::shared_ptr<Buffer>* out) {
404404
BufferMetadata metadata = metadata_->buffer(buffer_index);
405-
return file_->ReadAt(metadata.offset, metadata.length, out);
405+
406+
if (metadata.length == 0) {
407+
*out = std::make_shared<Buffer>(nullptr, 0);
408+
return Status::OK();
409+
} else {
410+
return file_->ReadAt(metadata.offset, metadata.length, out);
411+
}
406412
}
407413

408414
private:

0 commit comments

Comments
 (0)