mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-11-12 06:58:57 +01:00
net: limit BIP37 filter lifespan (active between 'filterload' and 'filterclear')
Previously, a default match-everything bloom filter was set for every peer, i.e. even before receiving a 'filterload' message and after receiving a 'filterclear' message code branches checking for the existence of the filter by testing the pointer "pfilter" were _always_ executed.
This commit is contained in:
@@ -3198,7 +3198,7 @@ bool ProcessMessage(CNode* pfrom, const std::string& msg_type, CDataStream& vRec
|
||||
}
|
||||
LOCK(pfrom->m_tx_relay->cs_filter);
|
||||
if (pfrom->GetLocalServices() & NODE_BLOOM) {
|
||||
pfrom->m_tx_relay->pfilter.reset(new CBloomFilter());
|
||||
pfrom->m_tx_relay->pfilter = nullptr;
|
||||
}
|
||||
pfrom->m_tx_relay->fRelayTxes = true;
|
||||
return true;
|
||||
|
||||
Reference in New Issue
Block a user