aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpracticalswift <practicalswift@users.noreply.github.com>2018-06-26 17:19:31 +0200
committerpracticalswift <practicalswift@users.noreply.github.com>2018-07-07 10:08:49 +0200
commit6ad0328f1c3e145d3224197eafd0f66b17cc1a1c (patch)
tree882c1e7bb5c90609063a05e642b4efb8cf2c1660
parent0212187fc624ea4a02fc99bc57ebd413499a9ee1 (diff)
Don't assert(foo()) where foo has side effects
-rw-r--r--src/bench/block_assemble.cpp3
-rw-r--r--src/bench/checkblock.cpp9
-rw-r--r--src/httprpc.cpp5
-rw-r--r--src/script/sign.cpp3
-rw-r--r--src/test/txvalidation_tests.cpp2
5 files changed, 14 insertions, 8 deletions
diff --git a/src/bench/block_assemble.cpp b/src/bench/block_assemble.cpp
index 36fa175a76..2bd67654ab 100644
--- a/src/bench/block_assemble.cpp
+++ b/src/bench/block_assemble.cpp
@@ -41,7 +41,8 @@ static CTxIn MineBlock(const CScript& coinbase_scriptPubKey)
auto block = PrepareBlock(coinbase_scriptPubKey);
while (!CheckProofOfWork(block->GetHash(), block->nBits, Params().GetConsensus())) {
- assert(++block->nNonce);
+ ++block->nNonce;
+ assert(block->nNonce);
}
bool processed{ProcessNewBlock(Params(), block, true, nullptr)};
diff --git a/src/bench/checkblock.cpp b/src/bench/checkblock.cpp
index fac7e079a7..387ae1769c 100644
--- a/src/bench/checkblock.cpp
+++ b/src/bench/checkblock.cpp
@@ -28,7 +28,8 @@ static void DeserializeBlockTest(benchmark::State& state)
while (state.KeepRunning()) {
CBlock block;
stream >> block;
- assert(stream.Rewind(sizeof(block_bench::block413567)));
+ bool rewound = stream.Rewind(sizeof(block_bench::block413567));
+ assert(rewound);
}
}
@@ -45,10 +46,12 @@ static void DeserializeAndCheckBlockTest(benchmark::State& state)
while (state.KeepRunning()) {
CBlock block; // Note that CBlock caches its checked state, so we need to recreate it here
stream >> block;
- assert(stream.Rewind(sizeof(block_bench::block413567)));
+ bool rewound = stream.Rewind(sizeof(block_bench::block413567));
+ assert(rewound);
CValidationState validationState;
- assert(CheckBlock(block, validationState, chainParams->GetConsensus()));
+ bool checked = CheckBlock(block, validationState, chainParams->GetConsensus());
+ assert(checked);
}
}
diff --git a/src/httprpc.cpp b/src/httprpc.cpp
index de2437943e..aec92711c9 100644
--- a/src/httprpc.cpp
+++ b/src/httprpc.cpp
@@ -240,8 +240,9 @@ bool StartHTTPRPC()
// ifdef can be removed once we switch to better endpoint support and API versioning
RegisterHTTPHandler("/wallet/", false, HTTPReq_JSONRPC);
#endif
- assert(EventBase());
- httpRPCTimerInterface = MakeUnique<HTTPRPCTimerInterface>(EventBase());
+ struct event_base* eventBase = EventBase();
+ assert(eventBase);
+ httpRPCTimerInterface = MakeUnique<HTTPRPCTimerInterface>(eventBase);
RPCSetTimerInterface(httpRPCTimerInterface.get());
return true;
}
diff --git a/src/script/sign.cpp b/src/script/sign.cpp
index 60a8a2655d..541d90e78f 100644
--- a/src/script/sign.cpp
+++ b/src/script/sign.cpp
@@ -424,7 +424,8 @@ bool IsSolvable(const SigningProvider& provider, const CScript& script)
static_assert(STANDARD_SCRIPT_VERIFY_FLAGS & SCRIPT_VERIFY_WITNESS_PUBKEYTYPE, "IsSolvable requires standard script flags to include WITNESS_PUBKEYTYPE");
if (ProduceSignature(provider, DUMMY_SIGNATURE_CREATOR, script, sigs)) {
// VerifyScript check is just defensive, and should never fail.
- assert(VerifyScript(sigs.scriptSig, script, &sigs.scriptWitness, STANDARD_SCRIPT_VERIFY_FLAGS, DUMMY_CHECKER));
+ bool verified = VerifyScript(sigs.scriptSig, script, &sigs.scriptWitness, STANDARD_SCRIPT_VERIFY_FLAGS, DUMMY_CHECKER);
+ assert(verified);
return true;
}
return false;
diff --git a/src/test/txvalidation_tests.cpp b/src/test/txvalidation_tests.cpp
index 2d1eb7b772..473ec5addf 100644
--- a/src/test/txvalidation_tests.cpp
+++ b/src/test/txvalidation_tests.cpp
@@ -30,7 +30,7 @@ BOOST_FIXTURE_TEST_CASE(tx_mempool_reject_coinbase, TestChain100Setup)
coinbaseTx.vout[0].nValue = 1 * CENT;
coinbaseTx.vout[0].scriptPubKey = scriptPubKey;
- assert(CTransaction(coinbaseTx).IsCoinBase());
+ BOOST_CHECK(CTransaction(coinbaseTx).IsCoinBase());
CValidationState state;