Skip to content

Commit 18806de

Browse files
authored
wgengine/magicsock: validate endpoint.derpAddr in Conn.onUDPRelayAllocResp (tailscale#17828)
Otherwise a zero value will panic in Conn.sendUDPStd. Updates tailscale#17827 Signed-off-by: Jordan Whited <jordan@tailscale.com>
1 parent 4650061 commit 18806de

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

wgengine/magicsock/magicsock.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -651,7 +651,9 @@ func (c *Conn) onUDPRelayAllocResp(allocResp UDPRelayAllocResp) {
651651
ep.mu.Lock()
652652
defer ep.mu.Unlock()
653653
derpAddr := ep.derpAddr
654-
go c.sendDiscoMessage(epAddr{ap: derpAddr}, ep.publicKey, disco.key, allocResp.Message, discoVerboseLog)
654+
if derpAddr.IsValid() {
655+
go c.sendDiscoMessage(epAddr{ap: derpAddr}, ep.publicKey, disco.key, allocResp.Message, discoVerboseLog)
656+
}
655657
}
656658

657659
// Synchronize waits for all [eventbus] events published

0 commit comments

Comments
 (0)