Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nodejs/node.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJackson Tian <shyvo1987@gmail.com>2014-08-06 07:21:59 +0400
committerTimothy J Fontaine <tjfontaine@gmail.com>2014-08-07 22:27:12 +0400
commitcc08106d6283040fc4c58005b639dae366b18b67 (patch)
tree57ef3019fd05c265bcec2890a487d59c4b2d95e6
parent70cc9968f667ce110a3a99db6a24b64eb8a3c32e (diff)
fs: fix fs.readFileSync fd leak when get RangeError
-rw-r--r--lib/fs.js8
1 files changed, 7 insertions, 1 deletions
diff --git a/lib/fs.js b/lib/fs.js
index 990eb6d3313..1e3dc6415a6 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;