From df874f848a42f3bb7a7c4a7afd6431f1007de4a2 Mon Sep 17 00:00:00 2001 From: Luke Dashjr Date: Fri, 4 Nov 2022 21:25:51 +0000 Subject: [PATCH] net: Ensure CNode.cleanSubVer is always assigned before nVersion --- src/net_processing.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/net_processing.cpp b/src/net_processing.cpp index eca6263392..4a6e9615f7 100644 --- a/src/net_processing.cpp +++ b/src/net_processing.cpp @@ -3224,6 +3224,10 @@ void PeerManagerImpl::ProcessMessage(CNode& pfrom, const std::string& msg_type, // Change version const int greatest_common_version = std::min(nVersion, PROTOCOL_VERSION); pfrom.SetCommonVersion(greatest_common_version); + { + LOCK(pfrom.m_subver_mutex); + pfrom.cleanSubVer = cleanSubVer; + } pfrom.nVersion = nVersion; const CNetMsgMaker msg_maker(greatest_common_version); @@ -3246,10 +3250,6 @@ void PeerManagerImpl::ProcessMessage(CNode& pfrom, const std::string& msg_type, pfrom.m_has_all_wanted_services = HasAllDesirableServiceFlags(nServices); peer->m_their_services = nServices; pfrom.SetAddrLocal(addrMe); - { - LOCK(pfrom.m_subver_mutex); - pfrom.cleanSubVer = cleanSubVer; - } peer->m_starting_height = starting_height; // We only initialize the m_tx_relay data structure if: