diff --git a/src/wallet/test/fuzz/crypter.cpp b/src/wallet/test/fuzz/crypter.cpp index 62dd1bfde0a..814136476b9 100644 --- a/src/wallet/test/fuzz/crypter.cpp +++ b/src/wallet/test/fuzz/crypter.cpp @@ -27,36 +27,36 @@ FUZZ_TARGET(crypter, .init = initialize_crypter) // These values are regularly updated within `CallOneOf` std::vector cipher_text_ed; CKeyingMaterial plain_text_ed; - const std::vector random_key = ConsumeRandomLengthByteVector(fuzzed_data_provider); + const std::vector random_key = ConsumeFixedLengthByteVector(fuzzed_data_provider, WALLET_CRYPTO_KEY_SIZE); LIMITED_WHILE(good_data && fuzzed_data_provider.ConsumeBool(), 10000) { CallOneOf( fuzzed_data_provider, [&] { - const std::string random_string = fuzzed_data_provider.ConsumeRandomLengthString(); + const std::string random_string = fuzzed_data_provider.ConsumeRandomLengthString(100); SecureString secure_string(random_string.begin(), random_string.end()); const unsigned int derivation_method = fuzzed_data_provider.ConsumeBool() ? 0 : fuzzed_data_provider.ConsumeIntegral(); // Limiting the value of nRounds since it is otherwise uselessly expensive and causes a timeout when fuzzing. crypt.SetKeyFromPassphrase(/*strKeyData=*/secure_string, - /*chSalt=*/ConsumeRandomLengthByteVector(fuzzed_data_provider), + /*chSalt=*/ConsumeFixedLengthByteVector(fuzzed_data_provider, WALLET_CRYPTO_SALT_SIZE), /*nRounds=*/fuzzed_data_provider.ConsumeIntegralInRange(0, 25000), /*nDerivationMethod=*/derivation_method); }, [&] { - const std::vector random_vector = ConsumeFixedLengthByteVector(fuzzed_data_provider, 32); + const std::vector random_vector = ConsumeFixedLengthByteVector(fuzzed_data_provider, WALLET_CRYPTO_KEY_SIZE); const CKeyingMaterial new_key(random_vector.begin(), random_vector.end()); - const std::vector& new_IV = ConsumeFixedLengthByteVector(fuzzed_data_provider, 16); + const std::vector& new_IV = ConsumeFixedLengthByteVector(fuzzed_data_provider, WALLET_CRYPTO_IV_SIZE); crypt.SetKey(new_key, new_IV); }, [&] { - const std::vector random_vector = ConsumeRandomLengthByteVector(fuzzed_data_provider); + const std::vector random_vector = ConsumeFixedLengthByteVector(fuzzed_data_provider, WALLET_CRYPTO_KEY_SIZE); plain_text_ed = CKeyingMaterial(random_vector.begin(), random_vector.end()); }, [&] { - cipher_text_ed = ConsumeRandomLengthByteVector(fuzzed_data_provider); + cipher_text_ed = ConsumeRandomLengthByteVector(fuzzed_data_provider, 64); }, [&] { (void)crypt.Encrypt(plain_text_ed, cipher_text_ed); @@ -82,7 +82,7 @@ FUZZ_TARGET(crypter, .init = initialize_crypter) } const CPubKey pub_key = *random_pub_key; const CKeyingMaterial master_key(random_key.begin(), random_key.end()); - const std::vector crypted_secret = ConsumeRandomLengthByteVector(fuzzed_data_provider); + const std::vector crypted_secret = ConsumeRandomLengthByteVector(fuzzed_data_provider, 64); CKey key; DecryptKey(master_key, crypted_secret, pub_key, key); });