Skip to content

Commit 2df5701

Browse files
tests: Add coverage of GetVirtualTransactionSize(...) to existing fuzzer
1 parent 7b9a2dc commit 2df5701

File tree

1 file changed

+7
-2
lines changed

1 file changed

+7
-2
lines changed

src/test/fuzz/integer.cpp

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
#include <streams.h>
2424
#include <test/fuzz/FuzzedDataProvider.h>
2525
#include <test/fuzz/fuzz.h>
26+
#include <test/fuzz/util.h>
2627
#include <time.h>
2728
#include <uint256.h>
2829
#include <util/moneystr.h>
@@ -90,8 +91,12 @@ void test_one_input(const std::vector<uint8_t>& buffer)
9091
}
9192
(void)GetSizeOfCompactSize(u64);
9293
(void)GetSpecialScriptSize(u32);
93-
// (void)GetVirtualTransactionSize(i64, i64); // function defined only for a subset of int64_t inputs
94-
// (void)GetVirtualTransactionSize(i64, i64, u32); // function defined only for a subset of int64_t/uint32_t inputs
94+
if (!MultiplicationOverflow(i64, static_cast<int64_t>(::nBytesPerSigOp)) && !AdditionOverflow(i64 * ::nBytesPerSigOp, static_cast<int64_t>(4))) {
95+
(void)GetVirtualTransactionSize(i64, i64);
96+
}
97+
if (!MultiplicationOverflow(i64, static_cast<int64_t>(u32)) && !AdditionOverflow(i64, static_cast<int64_t>(4)) && !AdditionOverflow(i64 * u32, static_cast<int64_t>(4))) {
98+
(void)GetVirtualTransactionSize(i64, i64, u32);
99+
}
95100
(void)HexDigit(ch);
96101
(void)MoneyRange(i64);
97102
(void)ToString(i64);

0 commit comments

Comments
 (0)