@@ -2668,18 +2668,16 @@ static void LChown(const FunctionCallbackInfo<Value>& args) {
26682668  CHECK (IsSafeJsInt (args[2 ]));
26692669  const  uv_gid_t  gid = static_cast <uv_gid_t >(args[2 ].As <Integer>()->Value ());
26702670
2671-   FSReqBase* req_wrap_async =  GetReqWrap (args,  3 ); 
2672-   if  ( req_wrap_async !=  nullptr ) {   //  lchown(path, uid, gid, req) 
2671+   if  (argc >  3 ) {   //  lchown(path, uid, gid, req) 
2672+     FSReqBase*  req_wrap_async =  GetReqWrap (args,  3 ); 
26732673    FS_ASYNC_TRACE_BEGIN1 (
26742674        UV_FS_LCHOWN, req_wrap_async, " path"  , TRACE_STR_COPY (*path))
26752675    AsyncCall (env, req_wrap_async, args, " lchown"  , UTF8, AfterNoArgs,
26762676              uv_fs_lchown, *path, uid, gid);
2677-   } else  {  //  lchown(path, uid, gid, undefined, ctx)
2678-     CHECK_EQ (argc, 5 );
2679-     FSReqWrapSync req_wrap_sync;
2677+   } else  {  //  lchown(path, uid, gid)
2678+     FSReqWrapSync req_wrap_sync (" lchown"  , *path);
26802679    FS_SYNC_TRACE_BEGIN (lchown);
2681-     SyncCall (env, args[4 ], &req_wrap_sync, " lchown"  ,
2682-              uv_fs_lchown, *path, uid, gid);
2680+     SyncCallAndThrowOnError (env, &req_wrap_sync, uv_fs_lchown, *path, uid, gid);
26832681    FS_SYNC_TRACE_END (lchown);
26842682  }
26852683}
0 commit comments