From 5dca9af70f2c526cb72cca33ed4e7da3e70a3023 Mon Sep 17 00:00:00 2001 From: Pavol Rusnak Date: Thu, 5 Sep 2024 17:56:16 +0200 Subject: [PATCH] return error in construct_proofs if arguments are not the same length --- crates/cdk/src/dhke.rs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/crates/cdk/src/dhke.rs b/crates/cdk/src/dhke.rs index 95009cd1..5dd2a738 100644 --- a/crates/cdk/src/dhke.rs +++ b/crates/cdk/src/dhke.rs @@ -102,6 +102,11 @@ pub fn construct_proofs( secrets: Vec, keys: &Keys, ) -> Result { + 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;