]> Cypherpunks repositories - gostls13.git/commitdiff
net: fix possible nil pointer dereference on ReadFrom for windows
authorMikio Hara <mikioh.mikioh@gmail.com>
Tue, 21 Apr 2015 04:50:01 +0000 (13:50 +0900)
committerMikio Hara <mikioh.mikioh@gmail.com>
Tue, 21 Apr 2015 06:34:44 +0000 (06:34 +0000)
Fixes #10516.

Change-Id: Ia93f53d4e752bbcca6112bc75f6c3dbe30b90dac
Reviewed-on: https://go-review.googlesource.com/9192
Reviewed-by: Ian Lance Taylor <iant@golang.org>
src/net/fd_windows.go

index 01fe1a9595ba61d441709233df601ab2551dd985..654eb2ee05943f26f28d361563ecc655149f47b5 100644 (file)
@@ -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) {