aboutsummaryrefslogtreecommitdiff
path: root/src/test/fuzz/crypto_chacha20_poly1305_aead.cpp
diff options
context:
space:
mode:
authorpracticalswift <practicalswift@users.noreply.github.com>2021-01-24 18:45:44 +0000
committerpracticalswift <practicalswift@users.noreply.github.com>2021-01-25 20:55:36 +0000
commit58232e3ffb319d27b41cfe040cfea8e43a3fb7e9 (patch)
treef145addb9902c25cbd5d02b2cbc8d609e28dc91b /src/test/fuzz/crypto_chacha20_poly1305_aead.cpp
parent52d84a45e2fa3def71853cd31d5582ae31ea85d3 (diff)
downloadbitcoin-58232e3ffb319d27b41cfe040cfea8e43a3fb7e9.tar.xz
fuzz: Avoid -fsanitize=integer warnings in fuzzing harnesses
Diffstat (limited to 'src/test/fuzz/crypto_chacha20_poly1305_aead.cpp')
-rw-r--r--src/test/fuzz/crypto_chacha20_poly1305_aead.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/test/fuzz/crypto_chacha20_poly1305_aead.cpp b/src/test/fuzz/crypto_chacha20_poly1305_aead.cpp
index 1f122082b2..0e1c44cded 100644
--- a/src/test/fuzz/crypto_chacha20_poly1305_aead.cpp
+++ b/src/test/fuzz/crypto_chacha20_poly1305_aead.cpp
@@ -45,18 +45,24 @@ FUZZ_TARGET(crypto_chacha20_poly1305_aead)
assert(ok);
},
[&] {
+ if (AdditionOverflow(seqnr_payload, static_cast<uint64_t>(1))) {
+ return;
+ }
seqnr_payload += 1;
aad_pos += CHACHA20_POLY1305_AEAD_AAD_LEN;
if (aad_pos + CHACHA20_POLY1305_AEAD_AAD_LEN > CHACHA20_ROUND_OUTPUT) {
aad_pos = 0;
+ if (AdditionOverflow(seqnr_aad, static_cast<uint64_t>(1))) {
+ return;
+ }
seqnr_aad += 1;
}
},
[&] {
- seqnr_payload = fuzzed_data_provider.ConsumeIntegral<int>();
+ seqnr_payload = fuzzed_data_provider.ConsumeIntegral<uint64_t>();
},
[&] {
- seqnr_aad = fuzzed_data_provider.ConsumeIntegral<int>();
+ seqnr_aad = fuzzed_data_provider.ConsumeIntegral<uint64_t>();
},
[&] {
is_encrypt = fuzzed_data_provider.ConsumeBool();