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
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

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