diff --git a/src/net.cpp b/src/net.cpp index 53a8301bd71..2870fd4d5a2 100644 --- a/src/net.cpp +++ b/src/net.cpp @@ -3634,7 +3634,9 @@ void CConnman::GetNodeStats(std::vector& vstats) const bool CConnman::DisconnectNode(const std::string& strNode) { LOCK(m_nodes_mutex); - if (CNode* pnode = FindNode(strNode)) { + auto it = std::ranges::find_if(m_nodes, [&strNode](CNode* node) { return node->m_addr_name == strNode; }); + if (it != m_nodes.end()) { + CNode* pnode{*it}; LogDebug(BCLog::NET, "disconnect by address%s match, %s", (fLogIPs ? strprintf("=%s", strNode) : ""), pnode->DisconnectMsg(fLogIPs)); pnode->fDisconnect = true; return true;