@@ -2590,17 +2590,15 @@ static void FChown(const FunctionCallbackInfo<Value>& args) {
2590
2590
CHECK (IsSafeJsInt (args[2 ]));
2591
2591
const uv_gid_t gid = static_cast <uv_gid_t >(args[2 ].As <Integer>()->Value ());
2592
2592
2593
- FSReqBase* req_wrap_async = GetReqWrap (args, 3 );
2594
- if ( req_wrap_async != nullptr ) { // fchown(fd, uid, gid, req)
2593
+ if (argc > 3 ) { // fchown(fd, uid, gid, req)
2594
+ FSReqBase* req_wrap_async = GetReqWrap (args, 3 );
2595
2595
FS_ASYNC_TRACE_BEGIN0 (UV_FS_FCHOWN, req_wrap_async)
2596
2596
AsyncCall (env, req_wrap_async, args, " fchown" , UTF8, AfterNoArgs,
2597
2597
uv_fs_fchown, fd, uid, gid);
2598
- } else { // fchown(fd, uid, gid, undefined, ctx)
2599
- CHECK_EQ (argc, 5 );
2600
- FSReqWrapSync req_wrap_sync;
2598
+ } else { // fchown(fd, uid, gid)
2599
+ FSReqWrapSync req_wrap_sync (" fchown" );
2601
2600
FS_SYNC_TRACE_BEGIN (fchown );
2602
- SyncCall (env, args[4 ], &req_wrap_sync, " fchown" ,
2603
- uv_fs_fchown, fd, uid, gid);
2601
+ SyncCallAndThrowOnError (env, &req_wrap_sync, uv_fs_fchown, fd, uid, gid);
2604
2602
FS_SYNC_TRACE_END (fchown );
2605
2603
}
2606
2604
}
0 commit comments