From 0bf6139e194f355d121bb2aea74715d1c4099598 Mon Sep 17 00:00:00 2001 From: Pieter Wuille Date: Tue, 23 Aug 2022 18:19:51 -0400 Subject: [PATCH] p2p: Avoid an IsAncestorOfBestHeaderOrTip call Just don't call this function when it won't have any effect. Note that we can't remove the LookupBlockIndex call, since `last_received_header` is needed to check if new headers were received (`received_new_header`). --- src/net_processing.cpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/net_processing.cpp b/src/net_processing.cpp index 26107b0a9c4..5c8d92f0922 100644 --- a/src/net_processing.cpp +++ b/src/net_processing.cpp @@ -2919,9 +2919,7 @@ void PeerManagerImpl::ProcessHeadersMessage(CNode& pfrom, Peer& peer, { LOCK(cs_main); last_received_header = m_chainman.m_blockman.LookupBlockIndex(headers.back().GetHash()); - if (IsAncestorOfBestHeaderOrTip(last_received_header)) { - already_validated_work = true; - } + already_validated_work = already_validated_work || IsAncestorOfBestHeaderOrTip(last_received_header); } // If our peer has NetPermissionFlags::NoBan privileges, then bypass our