aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMarcoFalke <falke.marco@gmail.com>2020-05-02 13:59:53 -0400
committerMarcoFalke <falke.marco@gmail.com>2020-05-04 10:40:48 -0400
commitfa47cf9d95dc2c2822fc96df16f179176935bf96 (patch)
tree9bd93ec524acedceab4c4c25307f80fc3d70764f /src
parentae32e5ce3d268881cbf631de1903b2a414bb64e1 (diff)
downloadbitcoin-fa47cf9d95dc2c2822fc96df16f179176935bf96.tar.xz
wallet: Fix typo in assert that is compile-time true
Diffstat (limited to 'src')
-rw-r--r--src/test/script_standard_tests.cpp6
-rw-r--r--src/wallet/wallet.cpp7
2 files changed, 11 insertions, 2 deletions
diff --git a/src/test/script_standard_tests.cpp b/src/test/script_standard_tests.cpp
index de990d9254..b185d3b4ac 100644
--- a/src/test/script_standard_tests.cpp
+++ b/src/test/script_standard_tests.cpp
@@ -13,6 +13,12 @@
BOOST_FIXTURE_TEST_SUITE(script_standard_tests, BasicTestingSetup)
+BOOST_AUTO_TEST_CASE(dest_default_is_no_dest)
+{
+ CTxDestination dest;
+ BOOST_CHECK(!IsValidDestination(dest));
+}
+
BOOST_AUTO_TEST_CASE(script_standard_Solver_success)
{
CKey keys[3];
diff --git a/src/wallet/wallet.cpp b/src/wallet/wallet.cpp
index 7a6deab1a8..561bdd1b9c 100644
--- a/src/wallet/wallet.cpp
+++ b/src/wallet/wallet.cpp
@@ -2777,7 +2777,10 @@ bool CWallet::CreateTransaction(interfaces::Chain::Lock& locked_chain, const std
strFailReason = _("Transaction needs a change address, but we can't generate it. Please call keypoolrefill first.").translated;
}
scriptChange = GetScriptForDestination(dest);
- assert(!dest.empty() || scriptChange.empty());
+ // A valid destination implies a change script (and
+ // vice-versa). An empty change script will abort later, if the
+ // change keypool ran out, but change is required.
+ CHECK_NONFATAL(IsValidDestination(dest) != scriptChange.empty());
}
CTxOut change_prototype_txout(0, scriptChange);
coin_selection_params.change_output_size = GetSerializeSize(change_prototype_txout);
@@ -2994,7 +2997,7 @@ bool CWallet::CreateTransaction(interfaces::Chain::Lock& locked_chain, const std
continue;
}
- // Give up if change keypool ran out and we failed to find a solution without change:
+ // Give up if change keypool ran out and change is required
if (scriptChange.empty() && nChangePosInOut != -1) {
return false;
}