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<_, _>>()
         {