Ver código fonte

return error in construct_proofs if arguments are not the same length

Pavol Rusnak 7 meses atrás
pai
commit
5dca9af70f
1 arquivos alterados com 5 adições e 0 exclusões
  1. 5 0
      crates/cdk/src/dhke.rs

+ 5 - 0
crates/cdk/src/dhke.rs

@@ -102,6 +102,11 @@ pub fn construct_proofs(
     secrets: Vec<Secret>,
     keys: &Keys,
 ) -> Result<Proofs, Error> {
+    if (promises.len() != rs.len()) || (promises.len() != secrets.len()) {
+        return Err(Error::CustomError(
+            "Lengths of promises, rs, and secrets must be equal".to_string(),
+        ));
+    }
     let mut proofs = vec![];
     for ((blinded_signature, r), secret) in promises.into_iter().zip(rs).zip(secrets) {
         let blinded_c: PublicKey = blinded_signature.c;