/root/bitcoin/src/test/fuzz/crypto_hkdf_hmac_sha256_l32.cpp
Line | Count | Source (jump to first uncovered line) |
1 | | // Copyright (c) 2020-2021 The Bitcoin Core developers |
2 | | // Distributed under the MIT software license, see the accompanying |
3 | | // file COPYING or http://www.opensource.org/licenses/mit-license.php. |
4 | | |
5 | | #include <crypto/hkdf_sha256_32.h> |
6 | | #include <test/fuzz/FuzzedDataProvider.h> |
7 | | #include <test/fuzz/fuzz.h> |
8 | | #include <test/fuzz/util.h> |
9 | | |
10 | | #include <cstdint> |
11 | | #include <string> |
12 | | #include <vector> |
13 | | |
14 | | FUZZ_TARGET(crypto_hkdf_hmac_sha256_l32) |
15 | 0 | { |
16 | 0 | FuzzedDataProvider fuzzed_data_provider{buffer.data(), buffer.size()}; |
17 | |
|
18 | 0 | const std::vector<uint8_t> initial_key_material = ConsumeRandomLengthByteVector(fuzzed_data_provider); |
19 | |
|
20 | 0 | CHKDF_HMAC_SHA256_L32 hkdf_hmac_sha256_l32(initial_key_material.data(), initial_key_material.size(), fuzzed_data_provider.ConsumeRandomLengthString(1024)); |
21 | 0 | LIMITED_WHILE(fuzzed_data_provider.ConsumeBool(), 10000) { |
22 | 0 | std::vector<uint8_t> out(32); |
23 | 0 | hkdf_hmac_sha256_l32.Expand32(fuzzed_data_provider.ConsumeRandomLengthString(128), out.data()); |
24 | 0 | } |
25 | 0 | } |