in safetensors/src/tensor.rs [1350:1369]
fn test_metadata_incomplete_buffer() {
let serialized = b"<\x00\x00\x00\x00\x00\x00\x00{\"test\":{\"dtype\":\"I32\",\"shape\":[2,2],\"data_offsets\":[0,16]}}\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00extra_bogus_data_for_polyglot_file";
match SafeTensors::deserialize(serialized) {
Err(SafeTensorError::MetadataIncompleteBuffer) => {
// Yes we have the correct error
}
_ => panic!("This should not be able to be deserialized"),
}
// Missing data in the buffer
let serialized = b"<\x00\x00\x00\x00\x00\x00\x00{\"test\":{\"dtype\":\"I32\",\"shape\":[2,2],\"data_offsets\":[0,16]}}\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"; // <--- missing 2 bytes
match SafeTensors::deserialize(serialized) {
Err(SafeTensorError::MetadataIncompleteBuffer) => {
// Yes we have the correct error
}
_ => panic!("This should not be able to be deserialized"),
}
}