diff --git a/src/filesystem/implementation.js b/src/filesystem/implementation.js index e050076..7b406ce 100644 --- a/src/filesystem/implementation.js +++ b/src/filesystem/implementation.js @@ -1703,7 +1703,6 @@ function readFile(fs, context, path, options, callback) { function cleanup() { fs.releaseDescriptor(fd); - ofd = null; } fstat_file(context, ofd, function(err, fstatResult) { @@ -1785,11 +1784,12 @@ function writeFile(fs, context, path, data, options, callback) { var ofd = new OpenFileDescription(path, fileNode.id, flags, 0); var fd = fs.allocDescriptor(ofd); - replace_data(context, ofd, data, 0, data.length, function(err2, nbytes) { - if(err2) { - return callback(err2); - } + replace_data(context, ofd, data, 0, data.length, function(err, nbytes) { fs.releaseDescriptor(fd); + + if(err) { + return callback(err); + } callback(null); }); }); @@ -1821,11 +1821,12 @@ function appendFile(fs, context, path, data, options, callback) { var ofd = new OpenFileDescription(path, fileNode.id, flags, fileNode.size); var fd = fs.allocDescriptor(ofd); - write_data(context, ofd, data, 0, data.length, ofd.position, function(err2, nbytes) { - if(err2) { - return callback(err2); - } + write_data(context, ofd, data, 0, data.length, ofd.position, function(err, nbytes) { fs.releaseDescriptor(fd); + + if(err) { + return callback(err); + } callback(null); }); });