diff --git a/src/ringdht/p2p.cpp b/src/ringdht/p2p.cpp index e1f30c5963b390d62b316f4c327bcd2e4233861a..049acdf488e2073f6cb3db8210f92f7a1b32786d 100644 --- a/src/ringdht/p2p.cpp +++ b/src/ringdht/p2p.cpp @@ -646,9 +646,10 @@ DhtPeerConnector::Impl::eventLoop() && element.second && element.second->hasStreamWithId(id));}); if (it == servers_.end()) break; + auto peer = it->first.second; // tmp copy to prevent use-after-free below servers_.erase(it); - connectedPeers_.erase(it->first.second); - turnEndpoints_.erase(it->first.second); + connectedPeers_.erase(peer); + turnEndpoints_.erase(peer); } break;