aboutsummaryrefslogtreecommitdiff
path: root/src/main.cpp
diff options
context:
space:
mode:
authorMatt Corallo <git@bluematt.me>2014-11-11 16:41:44 -0800
committerMatt Corallo <git@bluematt.me>2014-12-08 14:05:42 -0800
commit868d041622e2f589ab4535c30ce683534b6d4f71 (patch)
treebb46d3a10c60d9601fb38ed9d8f587aab1ee1327 /src/main.cpp
parent4b5b263ac0ee44fe432a713b444df9880cfce4a2 (diff)
downloadbitcoin-868d041622e2f589ab4535c30ce683534b6d4f71.tar.xz
Remove coinbase-dependant transactions during reorg.
This still leaves transactions in mempool that are potentially invalid if the maturity period has been reorged out of, but at least they're not missing inputs entirely.
Diffstat (limited to 'src/main.cpp')
-rw-r--r--src/main.cpp5
1 files changed, 2 insertions, 3 deletions
diff --git a/src/main.cpp b/src/main.cpp
index 70e3973e6c..3a2c167e80 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -1892,9 +1892,8 @@ bool static DisconnectTip(CValidationState &state) {
// ignore validation errors in resurrected transactions
list<CTransaction> removed;
CValidationState stateDummy;
- if (!tx.IsCoinBase())
- if (!AcceptToMemoryPool(mempool, stateDummy, tx, false, NULL))
- mempool.remove(tx, removed, true);
+ if (tx.IsCoinBase() || !AcceptToMemoryPool(mempool, stateDummy, tx, false, NULL))
+ mempool.remove(tx, removed, true);
}
mempool.check(pcoinsTip);
// Update chainActive and related variables.