wgengine/magicsock: validate endpoint.derpAddr in Conn.onUDPRelayAllocResp (#17828)

Otherwise a zero value will panic in Conn.sendUDPStd.

Updates #17827

Signed-off-by: Jordan Whited <jordan@tailscale.com>
(cherry picked from commit 18806de400)
pull/17969/head
Jordan Whited 3 weeks ago committed by Jordan Whited
parent 28f6c2dbfc
commit e602907cf5

@ -651,7 +651,9 @@ func (c *Conn) onUDPRelayAllocResp(allocResp UDPRelayAllocResp) {
ep.mu.Lock()
defer ep.mu.Unlock()
derpAddr := ep.derpAddr
go c.sendDiscoMessage(epAddr{ap: derpAddr}, ep.publicKey, disco.key, allocResp.Message, discoVerboseLog)
if derpAddr.IsValid() {
go c.sendDiscoMessage(epAddr{ap: derpAddr}, ep.publicKey, disco.key, allocResp.Message, discoVerboseLog)
}
}
// Synchronize waits for all [eventbus] events published

Loading…
Cancel
Save