From 3600a926dfefdf8fce9e464ff238b70e64ceb938 Mon Sep 17 00:00:00 2001 From: Rob Walker Date: Wed, 19 Jun 2019 21:29:36 -0700 Subject: [PATCH] protect against corruption (#4741) --- sdk/src/account.rs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sdk/src/account.rs b/sdk/src/account.rs index b24a3f1180..898c670895 100644 --- a/sdk/src/account.rs +++ b/sdk/src/account.rs @@ -65,6 +65,9 @@ impl Account { } pub fn serialize_data(&mut self, state: &T) -> Result<(), bincode::Error> { + if bincode::serialized_size(state)? > self.data.len() as u64 { + return Err(Box::new(bincode::ErrorKind::SizeLimit)); + } bincode::serialize_into(&mut self.data[..], state) } }