Skip to content

Commit

Permalink
fs: fix misplaced errors in fs.symlinkSync
Browse files Browse the repository at this point in the history
The ctx.error is supposed to be handled in fs.readlinkSync,
but was handled in fs.symlinkSync by mistake.

Also fix the error number check in readlink to be consistent
with SYNC_CALL.

PR-URL: #18548
Refs: #18348
Reviewed-By: Anatoli Papirovski <apapirovski@mac.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
  • Loading branch information
joyeecheung committed Feb 8, 2018
1 parent e9b5b4f commit b1c6ecb
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 6 deletions.
10 changes: 5 additions & 5 deletions lib/fs.js
Original file line number Diff line number Diff line change
Expand Up @@ -1161,6 +1161,11 @@ fs.readlinkSync = function(path, options) {
options.encoding, undefined, ctx);
if (ctx.errno !== undefined) {
throw errors.uvException(ctx);
} else if (ctx.error) {
// TODO(joyeecheung): this is an encoding error usually caused by memory
// problems. We need to figure out proper error code(s) for this.
Error.captureStackTrace(ctx.error);
throw ctx.error;
}
return result;
};
Expand Down Expand Up @@ -1232,11 +1237,6 @@ fs.symlinkSync = function(target, path, type) {

if (ctx.errno !== undefined) {
throw errors.uvException(ctx);
} else if (ctx.error) {
// TODO(joyeecheung): this is an encoding error usually caused by memory
// problems. We need to figure out proper error code(s) for this.
Error.captureStackTrace(ctx.error);
throw ctx.error;
}
};

Expand Down
2 changes: 1 addition & 1 deletion src/node_file.cc
Original file line number Diff line number Diff line change
Expand Up @@ -886,7 +886,7 @@ static void ReadLink(const FunctionCallbackInfo<Value>& args) {
fs_req_wrap req;
int err = SyncCall(env, args[3], &req, "readlink",
uv_fs_readlink, *path);
if (err) {
if (err < 0) {
return; // syscall failed, no need to continue, error info is in ctx
}
const char* link_path = static_cast<const char*>(req.req.ptr);
Expand Down

0 comments on commit b1c6ecb

Please sign in to comment.