diff --git a/processor/src/substrate_signer.rs b/processor/src/substrate_signer.rs index e32c2570..248e3cce 100644 --- a/processor/src/substrate_signer.rs +++ b/processor/src/substrate_signer.rs @@ -233,9 +233,14 @@ impl<D: Db> SubstrateSigner<D> { let preprocesses = match preprocesses .drain() .map(|(l, preprocess)| { - machine - .read_preprocess::<&[u8]>(&mut preprocess.as_ref()) - .map(|preprocess| (l, preprocess)) + let mut preprocess_ref = preprocess.as_ref(); + let res = machine + .read_preprocess::<&[u8]>(&mut preprocess_ref) + .map(|preprocess| (l, preprocess)); + if !preprocess_ref.is_empty() { + todo!("malicious signer: extra bytes"); + } + res }) .collect::<Result<_, _>>() { @@ -283,7 +288,12 @@ impl<D: Db> SubstrateSigner<D> { let shares = match shares .drain() .map(|(l, share)| { - machine.read_share::<&[u8]>(&mut share.as_ref()).map(|share| (l, share)) + let mut share_ref = share.as_ref(); + let res = machine.read_share::<&[u8]>(&mut share_ref).map(|share| (l, share)); + if !share_ref.is_empty() { + todo!("malicious signer: extra bytes"); + } + res }) .collect::<Result<_, _>>() {