Просмотр исходного кода

critical bug: verify_sigs() should also check inner length of vecs

zero 2 лет назад
Родитель
Сommit
c99186cc73
1 измененных файлов с 3 добавлено и 1 удалено
  1. 3 1
      src/tx/mod.rs

+ 3 - 1
src/tx/mod.rs

@@ -132,9 +132,11 @@ impl Transaction {
             "tx.verify_sigs: data_hash: {:?}", data_hash.as_bytes(),
         );
 
-        assert!(pub_table.len() == self.signatures.len());
+        assert_eq!(self.signatures.len(), pub_table.len());
 
         for (i, (sigs, pubkeys)) in self.signatures.iter().zip(pub_table.iter()).enumerate() {
+            assert_eq!(sigs.len(), pubkeys.len());
+
             for (pubkey, signature) in pubkeys.iter().zip(sigs) {
                 debug!(
                     target: "tx::verify_sigs",