diff --git a/lib/fs.js b/lib/fs.js index adaf5a4281..7c8b38c05a 100644 --- a/lib/fs.js +++ b/lib/fs.js @@ -56,7 +56,7 @@ fs.readFile = function (path, encoding_, callback) { function doRead() { if (size < 1) { binding.close(fd); - callback(null, buffer); + callback(null, encoding ? '' : buffer); return; } // position is offset or null so we can read files on unseekable mediums diff --git a/test/simple/test-fs-readfile-empty.js b/test/simple/test-fs-readfile-empty.js index 770d5e4e67..7b3ab1f2dd 100644 --- a/test/simple/test-fs-readfile-empty.js +++ b/test/simple/test-fs-readfile-empty.js @@ -9,3 +9,7 @@ var fs.readFile(fn, function(err, data) { assert.ok(data); }); + +fs.readFile(fn, 'utf8', function(err, data) { + assert.strictEqual('', data); +}); \ No newline at end of file