Skip to content

Commit 24afc12

Browse files
committed
fix: memory allocation error upon deserializing a vector by mistake
1 parent 77497f4 commit 24afc12

1 file changed

Lines changed: 6 additions & 0 deletions

File tree

crates/core/src/bytes_ser_de.rs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,12 @@ impl<'a> Deserializer<'a> {
118118
"size of vector is too big for architecture: {len_u64} bytes",
119119
))
120120
})?;
121+
if self.readable.len() < len {
122+
return Err(CryptoCoreError::DeserializationIoError {
123+
bytes_len: len,
124+
error: format!("readable buffer too small: {} bytes", self.readable.len()),
125+
});
126+
}
121127
let mut buf = vec![0_u8; len];
122128
self.readable.read_exact(&mut buf).map_err(|_| {
123129
CryptoCoreError::DeserializationSizeError {

0 commit comments

Comments
 (0)