Skip to content

Commit 8cd23d3

Browse files
authored
Merge pull request #437 from filecoin-project/fix/enforce-max-bitfield-size
fix: enforce max bitfield size on decode
2 parents b3ae786 + 4e08a0c commit 8cd23d3

File tree

1 file changed

+6
-0
lines changed
  • ipld/bitfield/src/rleplus

1 file changed

+6
-0
lines changed

ipld/bitfield/src/rleplus/mod.rs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,12 @@ impl<'de> Deserialize<'de> for BitField {
105105
D: Deserializer<'de>,
106106
{
107107
let bytes: Cow<'de, [u8]> = serde_bytes::deserialize(deserializer)?;
108+
if bytes.len() > MAX_ENCODED_SIZE {
109+
return Err(serde::de::Error::custom(format!(
110+
"encoded bitfield was too large {}",
111+
bytes.len()
112+
)));
113+
}
108114
Self::from_bytes(&bytes).map_err(serde::de::Error::custom)
109115
}
110116
}

0 commit comments

Comments
 (0)