@@ -2633,18 +2633,16 @@ static void LChown(const FunctionCallbackInfo<Value>& args) {
2633
2633
CHECK (IsSafeJsInt (args[2 ]));
2634
2634
const uv_gid_t gid = static_cast <uv_gid_t >(args[2 ].As <Integer>()->Value ());
2635
2635
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 );
2638
2638
FS_ASYNC_TRACE_BEGIN1 (
2639
2639
UV_FS_LCHOWN, req_wrap_async, " path" , TRACE_STR_COPY (*path))
2640
2640
AsyncCall (env, req_wrap_async, args, " lchown" , UTF8, AfterNoArgs,
2641
2641
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);
2645
2644
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);
2648
2646
FS_SYNC_TRACE_END (lchown);
2649
2647
}
2650
2648
}
0 commit comments