From e0b2ad06fe422168e8abe1d7a436a4e2cbc3c0ac Mon Sep 17 00:00:00 2001 From: Tobias Klauser Date: Sun, 7 Nov 2021 00:27:22 +0100 Subject: [PATCH] unix: fix finalizer fd close bug in TestOpenByHandleAt The raw fd is successively wrapped using os.NewFile, so dont defer close the raw fd, but instead use (*os.File).Close. Fixes golang/go#49403 Change-Id: I1f4b12536ff0abea6b1680a4ff932b7eefa57162 Reviewed-on: https://go-review.googlesource.com/c/sys/+/361995 Trust: Tobias Klauser Run-TryBot: Tobias Klauser TryBot-Result: Go Bot Reviewed-by: Ian Lance Taylor --- unix/syscall_linux_test.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/unix/syscall_linux_test.go b/unix/syscall_linux_test.go index f5d39660..910f5792 100644 --- a/unix/syscall_linux_test.go +++ b/unix/syscall_linux_test.go @@ -720,10 +720,10 @@ func TestOpenByHandleAt(t *testing.T) { if err != nil { t.Fatalf("OpenByHandleAt: %v", err) } - defer unix.Close(fd) - t.Logf("opened fd %v", fd) f := os.NewFile(uintptr(fd), "") + defer f.Close() + slurp, err := ioutil.ReadAll(f) if err != nil { t.Fatal(err)