From 5aa1755cbc55d17a5b4b71faa1e0bba34fe83d8b Mon Sep 17 00:00:00 2001 From: Jakob Unterwurzacher Date: Wed, 2 Jan 2019 00:14:12 +0100 Subject: [PATCH] fusefrontend: openBackingDir: fix fd leak in error path Reported by @slackner at https://github.com/rfjakob/gocryptfs/commit/932efbd4593fe6be6c86f0dafeaea32910b7c246#r31813373 thanks! --- internal/fusefrontend/names.go | 1 + 1 file changed, 1 insertion(+) diff --git a/internal/fusefrontend/names.go b/internal/fusefrontend/names.go index a6791cc..36185e2 100644 --- a/internal/fusefrontend/names.go +++ b/internal/fusefrontend/names.go @@ -65,6 +65,7 @@ func (fs *FS) openBackingDir(relPath string) (dirfd int, cName string, err error for i, name := range parts { iv, err := nametransform.ReadDirIVAt(dirfd) if err != nil { + syscall.Close(dirfd) return -1, "", err } cName = fs.nameTransform.EncryptAndHashName(name, iv)