From cc4acfee91c33e688bacd67cf689dcf6f5af4ed1 Mon Sep 17 00:00:00 2001 From: Philipp Oppermann Date: Wed, 12 Apr 2023 10:17:15 +0200 Subject: [PATCH] Verify arrow data type in `send_output` We only support `UInt8` arrays right now. --- apis/python/node/src/lib.rs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/apis/python/node/src/lib.rs b/apis/python/node/src/lib.rs index bf4ffb11..cdab1543 100644 --- a/apis/python/node/src/lib.rs +++ b/apis/python/node/src/lib.rs @@ -47,6 +47,9 @@ impl Node { let data = py_bytes.as_bytes(); self.send_output_slice(output_id, data.len(), data, metadata) } else if let Ok(arrow_array) = arrow::array::ArrayData::from_pyarrow(data.as_ref(py)) { + if arrow_array.data_type() != &arrow::datatypes::DataType::UInt8 { + eyre::bail!("only arrow arrays with data type `UInt8` are supported"); + } if arrow_array.buffers().len() != 1 { eyre::bail!("output arrow array must contain a single buffer"); }