mirror of
https://github.com/golang/go.git
synced 2026-02-06 18:00:01 +00:00
syscall: return early on error in Recvmsg
Currently, Recvmsg may access the rsa buffer even if the underlying syscall returns an error. Following the same change done for x/sys/unix.Recvmsg in CL 734740. For golang/go#76848 Change-Id: I2a145d822442a2033a76f4717317a39010b17bd5 Reviewed-on: https://go-review.googlesource.com/c/go/+/735121 Reviewed-by: Michael Pratt <mpratt@google.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Ian Lance Taylor <iant@golang.org> Auto-Submit: Tobias Klauser <tobias.klauser@gmail.com> Reviewed-by: Florian Lehner <lehner.florian86@gmail.com> Reviewed-by: Carlos Amedee <carlos@golang.org>
This commit is contained in:
parent
c61a48619f
commit
1996c22f0a
1 changed files with 3 additions and 0 deletions
|
|
@ -385,6 +385,9 @@ func recvmsgInet6(fd int, p, oob []byte, flags int, from *SockaddrInet6) (n, oob
|
|||
func Recvmsg(fd int, p, oob []byte, flags int) (n, oobn int, recvflags int, from Sockaddr, err error) {
|
||||
var rsa RawSockaddrAny
|
||||
n, oobn, recvflags, err = recvmsgRaw(fd, p, oob, flags, &rsa)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
// source address is only specified if the socket is unconnected
|
||||
if rsa.Addr.Family != AF_UNSPEC {
|
||||
from, err = anyToSockaddr(&rsa)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue