From 8cfa568d3c25ac0ef41047a62ff55955949726ed Mon Sep 17 00:00:00 2001 From: Tobias Klauser Date: Mon, 26 Sep 2022 16:36:19 +0200 Subject: [PATCH] unix: allow calling Sendto with nil Sockaddr Same as CL 433504 did for the syscall package. For golang/go#55845 Change-Id: I3ca2d7fab9da77c304487b4c134a9675da99deca Reviewed-on: https://go-review.googlesource.com/c/sys/+/434515 Run-TryBot: Tobias Klauser Reviewed-by: Dmitri Shuralyov TryBot-Result: Gopher Robot Reviewed-by: Ian Lance Taylor Run-TryBot: Ian Lance Taylor Auto-Submit: Ian Lance Taylor --- unix/syscall_unix.go | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/unix/syscall_unix.go b/unix/syscall_unix.go index 9f753560..00bafda8 100644 --- a/unix/syscall_unix.go +++ b/unix/syscall_unix.go @@ -423,11 +423,15 @@ func Send(s int, buf []byte, flags int) (err error) { } func Sendto(fd int, p []byte, flags int, to Sockaddr) (err error) { - ptr, n, err := to.sockaddr() - if err != nil { - return err + var ptr unsafe.Pointer + var salen _Socklen + if to != nil { + ptr, salen, err = to.sockaddr() + if err != nil { + return err + } } - return sendto(fd, p, flags, ptr, n) + return sendto(fd, p, flags, ptr, salen) } func SetsockoptByte(fd, level, opt int, value byte) (err error) {