From cc08106d6283040fc4c58005b639dae366b18b67 Mon Sep 17 00:00:00 2001 From: Jackson Tian Date: Wed, 6 Aug 2014 11:21:59 +0800 Subject: [PATCH] fs: fix fs.readFileSync fd leak when get RangeError --- lib/fs.js | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/lib/fs.js b/lib/fs.js index 990eb6d..1e3dc64 100644 --- a/lib/fs.js +++ b/lib/fs.js @@ -304,7 +304,13 @@ fs.readFileSync = function(path, options) { if (size === 0) { buffers = []; } else { - buffer = new Buffer(size); + var threw = true; + try { + buffer = new Buffer(size); + threw = false; + } finally { + if (threw) fs.closeSync(fd); + } } var done = false; -- 2.7.4