|
|
|
@ -1100,9 +1100,9 @@ static MempoolAcceptResult AcceptToMemoryPoolWithTime(const CChainParams& chainp
|
|
|
|
|
assert(std::addressof(::ChainstateActive()) == std::addressof(active_chainstate));
|
|
|
|
|
const MempoolAcceptResult result = MemPoolAccept(pool, active_chainstate).AcceptSingleTransaction(tx, args);
|
|
|
|
|
if (result.m_result_type != MempoolAcceptResult::ResultType::VALID) {
|
|
|
|
|
// Remove coins that were not present in the coins cache before calling ATMPW;
|
|
|
|
|
// this is to prevent memory DoS in case we receive a large number of
|
|
|
|
|
// invalid transactions that attempt to overrun the in-memory coins cache
|
|
|
|
|
// Remove coins that were not present in the coins cache before calling
|
|
|
|
|
// AcceptSingleTransaction(); this is to prevent memory DoS in case we receive a large
|
|
|
|
|
// number of invalid transactions that attempt to overrun the in-memory coins cache
|
|
|
|
|
// (`CCoinsViewCache::cacheCoins`).
|
|
|
|
|
|
|
|
|
|
for (const COutPoint& hashTx : coins_to_uncache)
|
|
|
|
|