undo CL 6395055 / 2518eee18c4f
Broke TCP selfConnect
««« original CL description
net: avoid nil pointer dereference when RemoteAddr.String method chain is called
Fixes #3721.
R=dave, rsc
CC=golang-dev
https://golang.org/cl/6395055
»»»
R=rsc
CC=golang-dev
https://golang.org/cl/6533043
diff --git a/src/pkg/net/file_unix.go b/src/pkg/net/file_unix.go
index 60911b1..0a64080 100644
--- a/src/pkg/net/file_unix.go
+++ b/src/pkg/net/file_unix.go
@@ -58,13 +58,15 @@
}
}
laddr := toAddr(lsa)
+ rsa, _ := syscall.Getpeername(fd)
+ raddr := toAddr(rsa)
netfd, err := newFD(fd, family, sotype, laddr.Network())
if err != nil {
closesocket(fd)
return nil, err
}
- netfd.setAddr(laddr, remoteSockname(netfd, toAddr))
+ netfd.setAddr(laddr, raddr)
return netfd, nil
}