when updating peers from erasePeer() lock the map before mutating;

pull/121/merge
Bryan Biedenkapp 4 weeks ago
parent 55bef73a5b
commit 895f5c8df7

@ -2258,11 +2258,13 @@ void TrafficNetwork::erasePeer(uint32_t peerId)
{
bool neighborFNE = false;
{
m_peers.lock();
auto it = std::find_if(m_peers.begin(), m_peers.end(), [&](PeerMapPair x) { return x.first == peerId; });
if (it != m_peers.end()) {
neighborFNE = it->second->peerClass() == PEER_CONN_CLASS_NEIGHBOR;
m_peers.erase(peerId);
}
m_peers.unlock();
}
// erase any CC maps for this peer

Loading…
Cancel
Save

Powered by TurnKey Linux.