diff --git a/interfaces/kits/js/src/mod_fileio/properties/open.cpp b/interfaces/kits/js/src/mod_fileio/properties/open.cpp index a024642b246d9c6bdeee872c8cc55bd34e289188..f314654315de92862bca193d0e81605d00d828a9 100644 --- a/interfaces/kits/js/src/mod_fileio/properties/open.cpp +++ b/interfaces/kits/js/src/mod_fileio/properties/open.cpp @@ -90,15 +90,15 @@ napi_value Open::Sync(napi_env env, napi_callback_info info) } size_t argc = funcArg.GetArgc(); + int mode = S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP; if (argc != NARG_CNT::THREE) { size_t flagsFirst { flags }; if ((flagsFirst & O_CREAT) || (flagsFirst & O_TMPFILE)) { UniError(EINVAL).ThrowErr(env, "called with O_CREAT/O_TMPFILE but no mode"); return nullptr; } - fd = open(path.get(), flags); + fd = open(path.get(), flags, mode); } else { - int mode; tie(succ, mode) = NVal(env, funcArg.GetArg(NARG_POS::THIRD)).ToInt32(); if (!succ) { UniError(EINVAL).ThrowErr(env, "Invalid mode"); @@ -157,7 +157,7 @@ napi_value Open::Async(napi_env env, napi_callback_info info) (void)AdaptToAbi(flags); } - int mode = 0; + int mode = S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP;; size_t argc = funcArg.GetArgc(); if (argc == NARG_CNT::FOUR || (argc == NARG_CNT::THREE && NVal(env, funcArg[NARG_POS::THIRD]).TypeIs(napi_number))) {