Skip to content

Commit ee4b921

Browse files
authored
validate object store response length (#5219)
Signed-off-by: Onur Satici <[email protected]>
1 parent 84b2f96 commit ee4b921

File tree

1 file changed

+10
-1
lines changed

1 file changed

+10
-1
lines changed

vortex-io/src/file/object_store.rs

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ use futures::stream::BoxStream;
1111
use futures::{FutureExt, StreamExt};
1212
use tracing::Instrument;
1313
use vortex_buffer::ByteBufferMut;
14-
use vortex_error::{VortexError, VortexResult};
14+
use vortex_error::{VortexError, VortexResult, vortex_ensure};
1515

1616
use crate::file::IoRequest;
1717
use crate::file::read::{CoalesceWindow, IntoReadSource, ReadSource, ReadSourceRef};
@@ -141,6 +141,15 @@ impl ReadSource for ObjectStoreIoSource {
141141
while let Some(bytes) = byte_stream.next().await {
142142
buffer.extend_from_slice(&bytes?);
143143
}
144+
145+
vortex_ensure!(
146+
buffer.len() == len,
147+
"Object store stream returned {} bytes but expected {} bytes (range: {:?})",
148+
buffer.len(),
149+
len,
150+
range
151+
);
152+
144153
buffer
145154
}
146155
};

0 commit comments

Comments
 (0)