diff options
| author | Carlos Amedee <carlos@golang.org> | 2026-01-21 15:45:40 -0500 |
|---|---|---|
| committer | Carlos Amedee <carlos@golang.org> | 2026-01-21 15:56:01 -0500 |
| commit | eec3c0ca956803db8a90dfd92ce4ebffebdaf9b4 (patch) | |
| tree | 14ed37a5aa0fd9e80b547fd43086b2b137457726 /src/net | |
| parent | 4606a931d2b099f2c5e5619b797352607ee42225 (diff) | |
| parent | 2baa1d17628bb2f09757617382b1e61f1f9f0ddd (diff) | |
| download | go-eec3c0ca956803db8a90dfd92ce4ebffebdaf9b4.tar.xz | |
[release-branch.go1.26] all: merge master (2baa1d1) into release-branch.go1.26
For #76474.
Change-Id: Ic50e288f99b731b62af9aa73ce6721f0f2f3596d
Diffstat (limited to 'src/net')
| -rw-r--r-- | src/net/fd_windows.go | 2 | ||||
| -rw-r--r-- | src/net/file_posix.go | 6 | ||||
| -rw-r--r-- | src/net/file_windows.go | 2 | ||||
| -rw-r--r-- | src/net/unixsock_test.go | 20 |
4 files changed, 21 insertions, 9 deletions
diff --git a/src/net/fd_windows.go b/src/net/fd_windows.go index 52985be8e6..c28ce045c4 100644 --- a/src/net/fd_windows.go +++ b/src/net/fd_windows.go @@ -248,7 +248,7 @@ func (fd *netFD) dup() (*os.File, error) { err := fd.pfd.RawControl(func(fd uintptr) { h, syserr = dupSocket(syscall.Handle(fd)) }) - if err != nil { + if err == nil { err = syserr } if err != nil { diff --git a/src/net/file_posix.go b/src/net/file_posix.go index 132d03e9e3..b28ff5845d 100644 --- a/src/net/file_posix.go +++ b/src/net/file_posix.go @@ -23,7 +23,11 @@ func newFileFD(f *os.File) (*netFD, error) { poll.CloseFunc(s) return nil, os.NewSyscallError("getsockopt", err) } - lsa, _ := syscall.Getsockname(s) + lsa, err := syscall.Getsockname(s) + if err != nil { + poll.CloseFunc(s) + return nil, os.NewSyscallError("getsockname", err) + } rsa, _ := syscall.Getpeername(s) switch lsa.(type) { case *syscall.SockaddrInet4: diff --git a/src/net/file_windows.go b/src/net/file_windows.go index b4eb00e564..6a6305035a 100644 --- a/src/net/file_windows.go +++ b/src/net/file_windows.go @@ -39,7 +39,7 @@ func dupFileSocket(f *os.File) (syscall.Handle, error) { err = sc.Control(func(fd uintptr) { h, syserr = dupSocket(syscall.Handle(fd)) }) - if err != nil { + if err == nil { err = syserr } if err != nil { diff --git a/src/net/unixsock_test.go b/src/net/unixsock_test.go index f6c5679f42..3e4a14b255 100644 --- a/src/net/unixsock_test.go +++ b/src/net/unixsock_test.go @@ -375,6 +375,17 @@ func TestUnixUnlink(t *testing.T) { } return l.(*UnixListener) } + fileListener := func(t *testing.T, l *UnixListener) (*os.File, Listener) { + f, err := l.File() + if err != nil { + t.Fatal(err) + } + ln, err := FileListener(f) + if err != nil { + t.Fatal(err) + } + return f, ln + } checkExists := func(t *testing.T, desc string) { if _, err := os.Stat(name); err != nil { t.Fatalf("unix socket does not exist %s: %v", desc, err) @@ -397,8 +408,7 @@ func TestUnixUnlink(t *testing.T) { // FileListener should not. t.Run("FileListener", func(t *testing.T) { l := listen(t) - f, _ := l.File() - l1, _ := FileListener(f) + f, l1 := fileListener(t, l) checkExists(t, "after FileListener") f.Close() checkExists(t, "after File close") @@ -444,8 +454,7 @@ func TestUnixUnlink(t *testing.T) { t.Run("FileListener/SetUnlinkOnClose(true)", func(t *testing.T) { l := listen(t) - f, _ := l.File() - l1, _ := FileListener(f) + f, l1 := fileListener(t, l) checkExists(t, "after FileListener") l1.(*UnixListener).SetUnlinkOnClose(true) f.Close() @@ -457,8 +466,7 @@ func TestUnixUnlink(t *testing.T) { t.Run("FileListener/SetUnlinkOnClose(false)", func(t *testing.T) { l := listen(t) - f, _ := l.File() - l1, _ := FileListener(f) + f, l1 := fileListener(t, l) checkExists(t, "after FileListener") l1.(*UnixListener).SetUnlinkOnClose(false) f.Close() |
