From 0f6a3ba4201c2a39817baa4ba9cec16d302341af Mon Sep 17 00:00:00 2001 From: Mikio Hara Date: Tue, 21 Apr 2015 13:50:01 +0900 Subject: [PATCH] net: fix possible nil pointer dereference on ReadFrom for windows Fixes #10516. Change-Id: Ia93f53d4e752bbcca6112bc75f6c3dbe30b90dac Reviewed-on: https://go-review.googlesource.com/9192 Reviewed-by: Ian Lance Taylor --- src/net/fd_windows.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/net/fd_windows.go b/src/net/fd_windows.go index 01fe1a9595..654eb2ee05 100644 --- a/src/net/fd_windows.go +++ b/src/net/fd_windows.go @@ -481,8 +481,12 @@ func (fd *netFD) readFrom(buf []byte) (int, syscall.Sockaddr, error) { o.rsan = int32(unsafe.Sizeof(*o.rsa)) return syscall.WSARecvFrom(o.fd.sysfd, &o.buf, 1, &o.qty, &o.flags, o.rsa, &o.rsan, &o.o, nil) }) + err = fd.eofError(n, err) + if err != nil { + return n, nil, err + } sa, _ := o.rsa.Sockaddr() - return n, sa, fd.eofError(n, err) + return n, sa, err } func (fd *netFD) Write(buf []byte) (int, error) { -- 2.48.1