diff options
| author | James Tucker <james@tailscale.com> | 2022-09-01 10:51:44 -0700 |
|---|---|---|
| committer | James Tucker <jftucker@gmail.com> | 2022-09-01 10:58:04 -0700 |
| commit | 265b008e49064adeef2e1d544cd13308fcf4f3cd (patch) | |
| tree | 5e12dad308a05f5537236df0e3d379ffc20755f3 | |
| parent | a5ad57472a74344c3e78cc2555b780db691a4b8f (diff) | |
| download | tailscale-265b008e49064adeef2e1d544cd13308fcf4f3cd.tar.xz tailscale-265b008e49064adeef2e1d544cd13308fcf4f3cd.zip | |
wgengine: fix race on endpoints in getStatus
Signed-off-by: James Tucker <james@tailscale.com>
| -rw-r--r-- | wgengine/userspace.go | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/wgengine/userspace.go b/wgengine/userspace.go index f573dfd88..aabb57d60 100644 --- a/wgengine/userspace.go +++ b/wgengine/userspace.go @@ -1005,6 +1005,7 @@ func (e *userspaceEngine) getStatus() (*Status, error) { closing := e.closing peerKeys := make([]key.NodePublic, len(e.peerSequence)) copy(peerKeys, e.peerSequence) + localAddrs := append([]tailcfg.Endpoint(nil), e.endpoints...) e.mu.Unlock() if closing { @@ -1020,7 +1021,7 @@ func (e *userspaceEngine) getStatus() (*Status, error) { return &Status{ AsOf: time.Now(), - LocalAddrs: append([]tailcfg.Endpoint(nil), e.endpoints...), + LocalAddrs: localAddrs, Peers: peers, DERPs: derpConns, }, nil |
