fix: proxyDialer has a non-nil interface containing nil pointer judgment

This commit is contained in:
gVisor bot 2023-04-12 18:19:59 +08:00
parent da1b748348
commit be26524257

View file

@ -42,8 +42,10 @@ func (p proxyDialer) DialContext(ctx context.Context, network, address string) (
if err != nil {
return nil, err
}
var rAddr net.Addr = currentMeta.UDPAddr()
if rAddr == nil { // the domain name was not resolved, will appear in not stream-oriented udp like Shadowsocks/Tuic
var rAddr net.Addr
if udpAddr := currentMeta.UDPAddr(); udpAddr != nil {
rAddr = udpAddr
} else { // the domain name was not resolved, will appear in not stream-oriented udp like Shadowsocks/Tuic
rAddr = N.NewCustomAddr("udp", currentMeta.RemoteAddress(), nil)
}
return N.NewBindPacketConn(pc, rAddr), nil