File tree Expand file tree Collapse file tree 4 files changed +15
-6
lines changed Expand file tree Collapse file tree 4 files changed +15
-6
lines changed Original file line number Diff line number Diff line change @@ -45,18 +45,24 @@ FUZZ_TARGET(crypto_chacha20_poly1305_aead)
45
45
assert (ok);
46
46
},
47
47
[&] {
48
+ if (AdditionOverflow (seqnr_payload, static_cast <uint64_t >(1 ))) {
49
+ return ;
50
+ }
48
51
seqnr_payload += 1 ;
49
52
aad_pos += CHACHA20_POLY1305_AEAD_AAD_LEN;
50
53
if (aad_pos + CHACHA20_POLY1305_AEAD_AAD_LEN > CHACHA20_ROUND_OUTPUT) {
51
54
aad_pos = 0 ;
55
+ if (AdditionOverflow (seqnr_aad, static_cast <uint64_t >(1 ))) {
56
+ return ;
57
+ }
52
58
seqnr_aad += 1 ;
53
59
}
54
60
},
55
61
[&] {
56
- seqnr_payload = fuzzed_data_provider.ConsumeIntegral <int >();
62
+ seqnr_payload = fuzzed_data_provider.ConsumeIntegral <uint64_t >();
57
63
},
58
64
[&] {
59
- seqnr_aad = fuzzed_data_provider.ConsumeIntegral <int >();
65
+ seqnr_aad = fuzzed_data_provider.ConsumeIntegral <uint64_t >();
60
66
},
61
67
[&] {
62
68
is_encrypt = fuzzed_data_provider.ConsumeBool ();
Original file line number Diff line number Diff line change @@ -43,7 +43,10 @@ FUZZ_TARGET_INIT(pow, initialize_pow)
43
43
current_block.nHeight = current_height;
44
44
}
45
45
if (fuzzed_data_provider.ConsumeBool ()) {
46
- current_block.nTime = fixed_time + current_height * consensus_params.nPowTargetSpacing ;
46
+ const uint32_t seconds = current_height * consensus_params.nPowTargetSpacing ;
47
+ if (!AdditionOverflow (fixed_time, seconds)) {
48
+ current_block.nTime = fixed_time + seconds;
49
+ }
47
50
}
48
51
if (fuzzed_data_provider.ConsumeBool ()) {
49
52
current_block.nBits = fixed_bits;
Original file line number Diff line number Diff line change @@ -154,13 +154,13 @@ FUZZ_TARGET_INIT(script, initialize_script)
154
154
155
155
{
156
156
WitnessUnknown witness_unknown_1{};
157
- witness_unknown_1.version = fuzzed_data_provider.ConsumeIntegral <int >();
157
+ witness_unknown_1.version = fuzzed_data_provider.ConsumeIntegral <uint32_t >();
158
158
const std::vector<uint8_t > witness_unknown_program_1 = fuzzed_data_provider.ConsumeBytes <uint8_t >(40 );
159
159
witness_unknown_1.length = witness_unknown_program_1.size ();
160
160
std::copy (witness_unknown_program_1.begin (), witness_unknown_program_1.end (), witness_unknown_1.program );
161
161
162
162
WitnessUnknown witness_unknown_2{};
163
- witness_unknown_2.version = fuzzed_data_provider.ConsumeIntegral <int >();
163
+ witness_unknown_2.version = fuzzed_data_provider.ConsumeIntegral <uint32_t >();
164
164
const std::vector<uint8_t > witness_unknown_program_2 = fuzzed_data_provider.ConsumeBytes <uint8_t >(40 );
165
165
witness_unknown_2.length = witness_unknown_program_2.size ();
166
166
std::copy (witness_unknown_program_2.begin (), witness_unknown_program_2.end (), witness_unknown_2.program );
Original file line number Diff line number Diff line change @@ -196,7 +196,7 @@ template <typename WeakEnumType, size_t size>
196
196
},
197
197
[&] {
198
198
WitnessUnknown witness_unknown{};
199
- witness_unknown.version = fuzzed_data_provider.ConsumeIntegral <int >();
199
+ witness_unknown.version = fuzzed_data_provider.ConsumeIntegral <uint32_t >();
200
200
const std::vector<uint8_t > witness_unknown_program_1 = fuzzed_data_provider.ConsumeBytes <uint8_t >(40 );
201
201
witness_unknown.length = witness_unknown_program_1.size ();
202
202
std::copy (witness_unknown_program_1.begin (), witness_unknown_program_1.end (), witness_unknown.program );
You can’t perform that action at this time.
0 commit comments