diff --git a/lib/fs.js b/lib/fs.js index b7d47ed3a4d..8f95d624ae7 100644 --- a/lib/fs.js +++ b/lib/fs.js @@ -208,7 +208,12 @@ fs.readFile = function(path, options, callback_) { fd = fd_; fs.fstat(fd, function(er, st) { - if (er) return callback(er); + if (er) { + return fs.close(fd, function() { + callback(er); + }); + } + size = st.size; if (size === 0) { // the kernel lies about many files.