Fix a potential bug with udp ipv4 only on darwin (#1532)

This commit is contained in:
Nate Brown
2025-11-19 10:56:58 -05:00
committed by GitHub
parent 584c2668b3
commit 99faab505c

View File

@@ -98,9 +98,9 @@ func (u *StdConn) WriteTo(b []byte, ap netip.AddrPort) error {
return ErrInvalidIPv6RemoteForSocket return ErrInvalidIPv6RemoteForSocket
} }
var rsa unix.RawSockaddrInet6 var rsa unix.RawSockaddrInet4
rsa.Family = unix.AF_INET6 rsa.Family = unix.AF_INET
rsa.Addr = ap.Addr().As16() rsa.Addr = ap.Addr().As4()
binary.BigEndian.PutUint16((*[2]byte)(unsafe.Pointer(&rsa.Port))[:], ap.Port()) binary.BigEndian.PutUint16((*[2]byte)(unsafe.Pointer(&rsa.Port))[:], ap.Port())
sa = unsafe.Pointer(&rsa) sa = unsafe.Pointer(&rsa)
addrLen = syscall.SizeofSockaddrInet4 addrLen = syscall.SizeofSockaddrInet4