From f208b3299cb45435b2ffd2197d05e03a6b3022fa Mon Sep 17 00:00:00 2001 From: Kevin Parsons Date: Fri, 31 May 2019 17:09:52 -0700 Subject: [PATCH] Fix interface-wrapped nil returned by MakeOpenFile Signed-off-by: Kevin Parsons --- file.go | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/file.go b/file.go index ea2d279..0385e41 100644 --- a/file.go +++ b/file.go @@ -111,7 +111,13 @@ func makeWin32File(h syscall.Handle) (*win32File, error) { } func MakeOpenFile(h syscall.Handle) (io.ReadWriteCloser, error) { - return makeWin32File(h) + // If we return the result of makeWin32File directly, it can result in an + // interface-wrapped nil, rather than a nil interface value. + f, err := makeWin32File(h) + if err != nil { + return nil, err + } + return f, nil } // closeHandle closes the resources associated with a Win32 handle