net: fix crashing Read/Write when passed empty slice on windows

Fixes #921.

R=rsc
CC=golang-dev
https://golang.org/cl/1862043
This commit is contained in:
Alex Brainman 2010-07-26 12:50:03 +10:00
parent eee095399f
commit 4d87e8ab08

View file

@ -198,7 +198,11 @@ func (fd *netFD) Close() os.Error {
}
func newWSABuf(p []byte) *syscall.WSABuf {
return &syscall.WSABuf{uint32(len(p)), (*byte)(unsafe.Pointer(&p[0]))}
var p0 *byte
if len(p) > 0 {
p0 = (*byte)(unsafe.Pointer(&p[0]))
}
return &syscall.WSABuf{uint32(len(p)), p0}
}
func (fd *netFD) Read(p []byte) (n int, err os.Error) {