From 68353d275041f5bac9e70dce7e08305864ddb0e9 Mon Sep 17 00:00:00 2001 From: Gustav Paul Date: Sun, 31 May 2015 20:34:06 +0200 Subject: [PATCH] godoc/vfs: close file on error When Stat() or IsDir() return errors, close the file to avoid a leak. Change-Id: I46d5e34c3443413ca674f2a703d033d945c21efa Reviewed-on: https://go-review.googlesource.com/10557 Reviewed-by: Minux Ma --- godoc/vfs/os.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/godoc/vfs/os.go b/godoc/vfs/os.go index 40636909..fa981424 100644 --- a/godoc/vfs/os.go +++ b/godoc/vfs/os.go @@ -42,9 +42,11 @@ func (root osFS) Open(path string) (ReadSeekCloser, error) { } fi, err := f.Stat() if err != nil { + f.Close() return nil, err } if fi.IsDir() { + f.Close() return nil, fmt.Errorf("Open: %s is a directory", path) } return f, nil