From 92854db7aed4424fad117ceb4e13f64a80ff348b Mon Sep 17 00:00:00 2001 From: Steven Allen Date: Wed, 15 Sep 2021 18:59:08 +0200 Subject: [PATCH] fix: take the lock while listing peers --- peering/peering.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/peering/peering.go b/peering/peering.go index 3146769a0..dbf955cde 100644 --- a/peering/peering.go +++ b/peering/peering.go @@ -244,6 +244,9 @@ func (ps *PeeringService) AddPeer(info peer.AddrInfo) { // ListPeers lists peers in the peering service. func (ps *PeeringService) ListPeers() []peer.AddrInfo { + ps.mu.RLock() + defer ps.mu.RUnlock() + out := make([]peer.AddrInfo, 0, len(ps.peers)) for id, addrs := range ps.peers { ai := peer.AddrInfo{ID: id}