This patch by Tony Reix checks for errors from Getsockname in a couple
of places.  Bootstrapped and ran Go testsuite on x86_64-pc-linux-gnu.
Committed to mainline.

Ian
Index: gcc/go/gofrontend/MERGE
===================================================================
--- gcc/go/gofrontend/MERGE     (revision 253105)
+++ gcc/go/gofrontend/MERGE     (working copy)
@@ -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.
Index: libgo/go/net/sock_posix.go
===================================================================
--- libgo/go/net/sock_posix.go  (revision 253025)
+++ libgo/go/net/sock_posix.go  (working copy)
@@ -182,7 +182,10 @@ func (fd *netFD) listenStream(laddr sock
        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 so
        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
 }

Reply via email to