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>
pull/17829/head
Jordan Whited 3 weeks ago committed by GitHub
parent 4650061326
commit 18806de400
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -651,7 +651,9 @@ func (c *Conn) onUDPRelayAllocResp(allocResp UDPRelayAllocResp) {
ep.mu.Lock() ep.mu.Lock()
defer ep.mu.Unlock() defer ep.mu.Unlock()
derpAddr := ep.derpAddr 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 // Synchronize waits for all [eventbus] events published

Loading…
Cancel
Save