@@ -2572,18 +2572,16 @@ static void Chown(const FunctionCallbackInfo<Value>& args) {
25722572 CHECK (IsSafeJsInt (args[2 ]));
25732573 const uv_gid_t gid = static_cast <uv_gid_t >(args[2 ].As <Integer>()->Value ());
25742574
2575- FSReqBase* req_wrap_async = GetReqWrap (args, 3 );
2576- if ( req_wrap_async != nullptr ) { // chown(path, uid, gid, req)
2575+ if (argc > 3 ) { // chown(path, uid, gid, req)
2576+ FSReqBase* req_wrap_async = GetReqWrap (args, 3 );
25772577 FS_ASYNC_TRACE_BEGIN1 (
25782578 UV_FS_CHOWN, req_wrap_async, " path" , TRACE_STR_COPY (*path))
25792579 AsyncCall (env, req_wrap_async, args, " chown" , UTF8, AfterNoArgs,
25802580 uv_fs_chown, *path, uid, gid);
2581- } else { // chown(path, uid, gid, undefined, ctx)
2582- CHECK_EQ (argc, 5 );
2583- FSReqWrapSync req_wrap_sync;
2581+ } else { // chown(path, uid, gid)
2582+ FSReqWrapSync req_wrap_sync (" chown" , *path);
25842583 FS_SYNC_TRACE_BEGIN (chown);
2585- SyncCall (env, args[4 ], &req_wrap_sync, " chown" ,
2586- uv_fs_chown, *path, uid, gid);
2584+ SyncCallAndThrowOnError (env, &req_wrap_sync, uv_fs_chown, *path, uid, gid);
25872585 FS_SYNC_TRACE_END (chown);
25882586 }
25892587}
0 commit comments