diff options
author | practicalswift <practicalswift@users.noreply.github.com> | 2021-05-25 21:09:09 +0000 |
---|---|---|
committer | practicalswift <practicalswift@users.noreply.github.com> | 2021-05-25 21:09:05 +0000 |
commit | 37371268d14ed6d5739af5b65d8bdb38b0e8dda2 (patch) | |
tree | ff4b78f566cfba60187b7467c475b9000880f9f1 /src | |
parent | 860093401840d7aad7b439aeba0d1598933bc9c6 (diff) |
Mark `CheckTxInputs` `[[nodiscard]]` (out-param `txfee` only set if call is successful). Avoid UUM in fuzzing harness `coins_view`.
Diffstat (limited to 'src')
-rw-r--r-- | src/consensus/tx_verify.h | 2 | ||||
-rw-r--r-- | src/test/fuzz/coins_view.cpp | 5 |
2 files changed, 4 insertions, 3 deletions
diff --git a/src/consensus/tx_verify.h b/src/consensus/tx_verify.h index e78dc9f2a5..d5fd43e131 100644 --- a/src/consensus/tx_verify.h +++ b/src/consensus/tx_verify.h @@ -24,7 +24,7 @@ namespace Consensus { * @param[out] txfee Set to the transaction fee if successful. * Preconditions: tx.IsCoinBase() is false. */ -bool CheckTxInputs(const CTransaction& tx, TxValidationState& state, const CCoinsViewCache& inputs, int nSpendHeight, CAmount& txfee); +[[nodiscard]] bool CheckTxInputs(const CTransaction& tx, TxValidationState& state, const CCoinsViewCache& inputs, int nSpendHeight, CAmount& txfee); } // namespace Consensus /** Auxiliary functions for transaction validation (ideally should not be exposed) */ diff --git a/src/test/fuzz/coins_view.cpp b/src/test/fuzz/coins_view.cpp index 878b5a27da..b509ee0b26 100644 --- a/src/test/fuzz/coins_view.cpp +++ b/src/test/fuzz/coins_view.cpp @@ -236,8 +236,9 @@ FUZZ_TARGET_INIT(coins_view, initialize_coins_view) // It is not allowed to call CheckTxInputs if CheckTransaction failed return; } - (void)Consensus::CheckTxInputs(transaction, state, coins_view_cache, fuzzed_data_provider.ConsumeIntegralInRange<int>(0, std::numeric_limits<int>::max()), tx_fee_out); - assert(MoneyRange(tx_fee_out)); + if (Consensus::CheckTxInputs(transaction, state, coins_view_cache, fuzzed_data_provider.ConsumeIntegralInRange<int>(0, std::numeric_limits<int>::max()), tx_fee_out)) { + assert(MoneyRange(tx_fee_out)); + } }, [&] { const CTransaction transaction{random_mutable_transaction}; |