diff --git a/src/node/txdownloadman_impl.cpp b/src/node/txdownloadman_impl.cpp index 7511fab9180..3822cc81fdc 100644 --- a/src/node/txdownloadman_impl.cpp +++ b/src/node/txdownloadman_impl.cpp @@ -188,7 +188,7 @@ bool TxDownloadManagerImpl::AddTxAnnouncement(NodeId peer, const GenTxid& gtxid, if (MaybeAddOrphanResolutionCandidate(unique_parents, *wtxid, peer, now)) { m_orphanage->AddAnnouncer(orphan_tx->GetWitnessHash(), peer); - m_orphanage->LimitOrphans(m_opts.m_rng); + m_orphanage->LimitOrphans(); } // Return even if the peer isn't an orphan resolution candidate. This would be caught by AlreadyHaveTx. @@ -421,7 +421,7 @@ node::RejectedTxTodo TxDownloadManagerImpl::MempoolRejectedTx(const CTransaction m_txrequest.ForgetTxHash(tx.GetWitnessHash()); // DoS prevention: do not allow m_orphanage to grow unbounded (see CVE-2012-3789) - m_orphanage->LimitOrphans(m_opts.m_rng); + m_orphanage->LimitOrphans(); } else { unique_parents.clear(); LogDebug(BCLog::MEMPOOL, "not keeping orphan with rejected parents %s (wtxid=%s)\n", diff --git a/src/node/txorphanage.cpp b/src/node/txorphanage.cpp index 74c98ae1594..c540e088b73 100644 --- a/src/node/txorphanage.cpp +++ b/src/node/txorphanage.cpp @@ -216,7 +216,7 @@ public: bool EraseTx(const Wtxid& wtxid) override; void EraseForPeer(NodeId peer) override; void EraseForBlock(const CBlock& block) override; - void LimitOrphans(FastRandomContext& rng) override; + void LimitOrphans() override; void AddChildrenToWorkSet(const CTransaction& tx, FastRandomContext& rng) override; bool HaveTxToReconsider(NodeId peer) override; std::vector GetChildrenFromSamePeer(const CTransactionRef& parent, NodeId nodeid) const override; @@ -408,7 +408,7 @@ void TxOrphanageImpl::EraseForPeer(NodeId peer) * amount of announcements and space for each peer. The reserved amount is protected from eviction even if there * are peers spamming the orphanage. */ -void TxOrphanageImpl::LimitOrphans(FastRandomContext& rng) +void TxOrphanageImpl::LimitOrphans() { if (!NeedsTrim()) return; diff --git a/src/node/txorphanage.h b/src/node/txorphanage.h index 959055d6551..6039b369b9f 100644 --- a/src/node/txorphanage.h +++ b/src/node/txorphanage.h @@ -91,7 +91,7 @@ public: virtual void EraseForBlock(const CBlock& block) = 0; /** Limit the orphanage to MaxGlobalLatencyScore and MaxGlobalUsage. */ - virtual void LimitOrphans(FastRandomContext& rng) = 0; + virtual void LimitOrphans() = 0; /** Add any orphans that list a particular tx as a parent into the from peer's work set */ virtual void AddChildrenToWorkSet(const CTransaction& tx, FastRandomContext& rng) = 0; diff --git a/src/test/fuzz/txorphan.cpp b/src/test/fuzz/txorphan.cpp index 954281fb39c..8993efafcdd 100644 --- a/src/test/fuzz/txorphan.cpp +++ b/src/test/fuzz/txorphan.cpp @@ -217,7 +217,7 @@ FUZZ_TARGET(txorphan, .init = initialize_orphanage) [&] { // test mocktime and expiry SetMockTime(ConsumeTime(fuzzed_data_provider)); - orphanage->LimitOrphans(orphanage_rng); + orphanage->LimitOrphans(); Assert(orphanage->Size() <= node::DEFAULT_MAX_ORPHAN_TRANSACTIONS); });