From 9541684292e45b3caaf5ad8bca8348ac970b6fca Mon Sep 17 00:00:00 2001 From: Christian Heimes Date: Thu, 10 Mar 2022 17:57:23 +0100 Subject: [PATCH] Close fd leak in opendir / O_DIRECTORY nfd must be closed when open() O_DIRECTORY fails with ENOTDIR. Fixes: #16452 Signed-off-by: Christian Heimes --- src/library_noderawfs.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/library_noderawfs.js b/src/library_noderawfs.js index f252e3a648045..15a8ea57d9322 100644 --- a/src/library_noderawfs.js +++ b/src/library_noderawfs.js @@ -90,6 +90,7 @@ mergeInto(LibraryManager.library, { var nfd = fs.openSync(pathTruncated, NODEFS.flagsForNode(flags), mode); var st = fs.fstatSync(nfd); if (flags & {{{ cDefine('O_DIRECTORY') }}} && !st.isDirectory()) { + fs.closeSync(nfd); throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR); } var newMode = NODEFS.getMode(pathTruncated);