summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorian <ian@138bc75d-0d04-0410-961f-82ee72b054a4>2017-09-27 14:22:36 +0000
committerian <ian@138bc75d-0d04-0410-961f-82ee72b054a4>2017-09-27 14:22:36 +0000
commitcc49b47dbfd9f60434e20a16ec95b960f62953de (patch)
treefe6f7e6bb4a0cc714c254a9560253466ff31ca6c
parent7a5093555bd99e2be52108cb16c0412225a63a11 (diff)
downloadgcc-cc49b47dbfd9f60434e20a16ec95b960f62953de.tar.gz
net: check Getsockname error return
Reviewed-on: https://go-review.googlesource.com/64550 git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@253231 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/go/gofrontend/MERGE2
-rw-r--r--libgo/go/net/sock_posix.go10
2 files changed, 9 insertions, 3 deletions
diff --git a/gcc/go/gofrontend/MERGE b/gcc/go/gofrontend/MERGE
index dcab046c82e..de1369dedac 100644
--- a/gcc/go/gofrontend/MERGE
+++ b/gcc/go/gofrontend/MERGE
@@ -1,4 +1,4 @@
-e0c1f0b645b12a544b484c0f477f8fb6f5980550
+cdf1f58c7578980e1d1949680c7e404961b7c153
The first line of this file holds the git revision number of the last
merge done from the gofrontend repository.
diff --git a/libgo/go/net/sock_posix.go b/libgo/go/net/sock_posix.go
index a30efe2336a..4733c422f16 100644
--- a/libgo/go/net/sock_posix.go
+++ b/libgo/go/net/sock_posix.go
@@ -182,7 +182,10 @@ func (fd *netFD) listenStream(laddr sockaddr, backlog int) error {
if err := fd.init(); err != nil {
return err
}
- lsa, _ := syscall.Getsockname(fd.pfd.Sysfd)
+ lsa, err := syscall.Getsockname(fd.pfd.Sysfd)
+ if err != nil {
+ return os.NewSyscallError("getsockname", err)
+ }
fd.setAddr(fd.addrFunc()(lsa), nil)
return nil
}
@@ -221,7 +224,10 @@ func (fd *netFD) listenDatagram(laddr sockaddr) error {
if err := fd.init(); err != nil {
return err
}
- lsa, _ := syscall.Getsockname(fd.pfd.Sysfd)
+ lsa, err := syscall.Getsockname(fd.pfd.Sysfd)
+ if err != nil {
+ return os.NewSyscallError("getsockname", err)
+ }
fd.setAddr(fd.addrFunc()(lsa), nil)
return nil
}