@@ -2633,18 +2633,16 @@ static void LChown(const FunctionCallbackInfo<Value>& args) {
26332633 CHECK (IsSafeJsInt (args[2 ]));
26342634 const uv_gid_t gid = static_cast <uv_gid_t >(args[2 ].As <Integer>()->Value ());
26352635
2636- FSReqBase* req_wrap_async = GetReqWrap (args, 3 );
2637- if ( req_wrap_async != nullptr ) { // lchown(path, uid, gid, req)
2636+ if (argc > 3 ) { // lchown(path, uid, gid, req)
2637+ FSReqBase* req_wrap_async = GetReqWrap (args, 3 );
26382638 FS_ASYNC_TRACE_BEGIN1 (
26392639 UV_FS_LCHOWN, req_wrap_async, " path" , TRACE_STR_COPY (*path))
26402640 AsyncCall (env, req_wrap_async, args, " lchown" , UTF8, AfterNoArgs,
26412641 uv_fs_lchown, *path, uid, gid);
2642- } else { // lchown(path, uid, gid, undefined, ctx)
2643- CHECK_EQ (argc, 5 );
2644- FSReqWrapSync req_wrap_sync;
2642+ } else { // lchown(path, uid, gid)
2643+ FSReqWrapSync req_wrap_sync (" lchown" , *path);
26452644 FS_SYNC_TRACE_BEGIN (lchown);
2646- SyncCall (env, args[4 ], &req_wrap_sync, " lchown" ,
2647- uv_fs_lchown, *path, uid, gid);
2645+ SyncCallAndThrowOnError (env, &req_wrap_sync, uv_fs_lchown, *path, uid, gid);
26482646 FS_SYNC_TRACE_END (lchown);
26492647 }
26502648}
0 commit comments