From: Ian Lance Taylor Date: Tue, 1 Jul 2025 04:23:41 +0000 (-0700) Subject: syscall: pass correct pointer to system call in recvmsgRaw X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=284e13279e8c8067f7a0046a7ca8ff7a16398feb;p=thirdparty%2Fgcc.git syscall: pass correct pointer to system call in recvmsgRaw The code in recvmsgRaw, introduced in https://go.dev/cl/384695, incorrectly passed &rsa to the recvmsg system call. But in recvmsgRaw rsa is already a pointer passed by the caller. This change passes the correct pointer. I'm guessing that this didn't show up in the testsuite because we run the tests in short mode. Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/685177 --- diff --git a/gcc/go/gofrontend/MERGE b/gcc/go/gofrontend/MERGE index b6fdf72dcec4..64eb27e5e8d1 100644 --- a/gcc/go/gofrontend/MERGE +++ b/gcc/go/gofrontend/MERGE @@ -1,4 +1,4 @@ -f5c453aa726ebb509e7b8cb20df7734f0e411404 +8aab4c94f039132b270ab03968f74d24d315e141 The first line of this file holds the git revision number of the last merge done from the gofrontend repository. diff --git a/libgo/go/syscall/socket.go b/libgo/go/syscall/socket.go index 54a4a9940c64..35665d507232 100644 --- a/libgo/go/syscall/socket.go +++ b/libgo/go/syscall/socket.go @@ -467,7 +467,7 @@ func Sendto(fd int, p []byte, flags int, to Sockaddr) (err error) { func recvmsgRaw(fd int, p, oob []byte, flags int, rsa *RawSockaddrAny) (n, oobn int, recvflags int, err error) { var msg Msghdr - msg.Name = (*byte)(unsafe.Pointer(&rsa)) + msg.Name = (*byte)(unsafe.Pointer(rsa)) msg.Namelen = uint32(SizeofSockaddrAny) var iov Iovec if len(p) > 0 {