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
 }