aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBen Woosley <ben.woosley@gmail.com>2018-07-13 12:41:42 -0400
committerBen Woosley <ben.woosley@gmail.com>2018-07-13 12:41:45 -0400
commit93de2891fa9cb8314573ba3a6ab764bc9c52444d (patch)
tree104a50f2c5bf92d14b60d4f70d9de74f5b0bfb23 /src
parent2ea7eb62b21affeb56fcea7433cfff9e5bc4742c (diff)
downloadbitcoin-93de2891fa9cb8314573ba3a6ab764bc9c52444d.tar.xz
wallet: assert to ensure accuracy of CMerkleTx::GetBlocksToMaturity
According to my understanding, it should not be possible for coinbase transactions to be conflicting, thus it should not be possible for GetDepthInMainChain to return a negative result. If it did, this would also result in innacurate results for GetBlocksToMaturity due to the math therein. asserting ensures accuracy.
Diffstat (limited to 'src')
-rw-r--r--src/wallet/wallet.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/wallet/wallet.cpp b/src/wallet/wallet.cpp
index cdba6c6441..81e65b044e 100644
--- a/src/wallet/wallet.cpp
+++ b/src/wallet/wallet.cpp
@@ -4397,7 +4397,9 @@ int CMerkleTx::GetBlocksToMaturity() const
{
if (!IsCoinBase())
return 0;
- return std::max(0, (COINBASE_MATURITY+1) - GetDepthInMainChain());
+ int chain_depth = GetDepthInMainChain();
+ assert(chain_depth >= 0); // coinbase tx should not be conflicted
+ return std::max(0, (COINBASE_MATURITY+1) - chain_depth);
}