From 2238814b997d0ab01bd643fee022cf6354293c1b Mon Sep 17 00:00:00 2001 From: Brad Fitzpatrick Date: Wed, 8 Sep 2021 08:12:29 -0700 Subject: [PATCH] wgengine/magicsock: fix crash introduced in recent cleanups Fixes #2801 Signed-off-by: Brad Fitzpatrick --- wgengine/magicsock/magicsock.go | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/wgengine/magicsock/magicsock.go b/wgengine/magicsock/magicsock.go index 4609a7c04..165811181 100644 --- a/wgengine/magicsock/magicsock.go +++ b/wgengine/magicsock/magicsock.go @@ -189,9 +189,14 @@ func (m *peerMap) deleteDiscoEndpoint(ep *endpoint) { return } ep.stopAndReset() - pi := m.byDiscoKey[ep.discoKey] + pi := m.byNodeKey[ep.publicKey] delete(m.byDiscoKey, ep.discoKey) delete(m.byNodeKey, ep.publicKey) + if pi == nil { + // Kneejerk paranoia from earlier issue 2801. + // Unexpected. But no logger plumbed here to log so. + return + } for ip := range pi.ipPorts { delete(m.byIPPort, ip) }