diff options
author | MarcoFalke <falke.marco@gmail.com> | 2018-08-13 10:02:09 -0400 |
---|---|---|
committer | MarcoFalke <falke.marco@gmail.com> | 2018-08-13 10:02:50 -0400 |
commit | f87d0a9d75b366445f880041c56c725f8196364e (patch) | |
tree | c64d2f6923109e48cf06d42e1da10e2612560671 /src/script | |
parent | afa960002086419feeaf3e50a7003855d39c8111 (diff) | |
parent | 6ad0328f1c3e145d3224197eafd0f66b17cc1a1c (diff) |
Merge #13534: Don't assert(foo()) where foo() has side effects
6ad0328f1c Don't assert(foo()) where foo has side effects (practicalswift)
Pull request description:
Don't `assert(foo())` where `foo` has side effects.
From `assert(3)`:
> If the macro `NDEBUG` is defined at the moment `<assert.h>` was last included, the macro `assert()` generates no code, and hence does nothing at all.
Bitcoin currently cannot be compiled without assertions, but we shouldn't rely on that.
Tree-SHA512: 28cff0c6d1c2fb612ca58c9c94142ed01c5cfd0a2fecb8e59cdb6c270374b215d952ed3491d921d84dc1b439fa49da4f0e75e080f6adcbc6b0e08be14e54c170
Diffstat (limited to 'src/script')
-rw-r--r-- | src/script/sign.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/script/sign.cpp b/src/script/sign.cpp index 1e4102c20f..e7bb90daa3 100644 --- a/src/script/sign.cpp +++ b/src/script/sign.cpp @@ -469,7 +469,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; |