diff --git a/interfaces/kits/js/napi/src/get_work_status.cpp b/interfaces/kits/js/napi/src/get_work_status.cpp index 4db00c293f21270557efec5414d1eb639f81688d..55a0e7d3e7537ba79319276bf7d5af9f6e13a9f2 100644 --- a/interfaces/kits/js/napi/src/get_work_status.cpp +++ b/interfaces/kits/js/napi/src/get_work_status.cpp @@ -85,7 +85,9 @@ napi_value GetWorkStatus(napi_env env, napi_callback_info info) AsyncCallbackInfoGetWorkStatus *asyncCallbackInfo = new (std::nothrow) AsyncCallbackInfoGetWorkStatus(env); if (!asyncCallbackInfo) { - return Common::JSParaError(env, params.callback); + napi_value ret = Common::JSParaError(env, params.callback); + napi_delete_reference(env, params.callback); + return ret; } std::unique_ptr callbackPtr {asyncCallbackInfo}; asyncCallbackInfo->workId = params.workId; @@ -95,9 +97,7 @@ napi_value GetWorkStatus(napi_env env, napi_callback_info info) napi_value resourceName = nullptr; NAPI_CALL(env, napi_create_string_latin1(env, "GetWorkStatus", NAPI_AUTO_LENGTH, &resourceName)); - NAPI_CALL(env, napi_create_async_work(env, - nullptr, - resourceName, + NAPI_CALL(env, napi_create_async_work(env, nullptr, resourceName, [](napi_env env, void *data) { AsyncCallbackInfoGetWorkStatus *asyncCallbackInfo = static_cast(data); asyncCallbackInfo->errorCode = diff --git a/interfaces/kits/js/napi/src/is_last_work_time_out.cpp b/interfaces/kits/js/napi/src/is_last_work_time_out.cpp index 30751dc09fdc5e387db4731f5e5c398f491686c2..f7a0b9f42a8a05be7bbc28f6b3df78a32b8a745f 100644 --- a/interfaces/kits/js/napi/src/is_last_work_time_out.cpp +++ b/interfaces/kits/js/napi/src/is_last_work_time_out.cpp @@ -84,7 +84,9 @@ napi_value IsLastWorkTimeOut(napi_env env, napi_callback_info info) napi_value promise = nullptr; AsyncCallbackIsLastWorkTimeOut *asyncCallbackInfo = new (std::nothrow) AsyncCallbackIsLastWorkTimeOut(env); if (!asyncCallbackInfo) { - return Common::JSParaError(env, params.callback); + napi_value ret = Common::JSParaError(env, params.callback); + napi_delete_reference(env, params.callback); + return ret; } std::unique_ptr callbackPtr {asyncCallbackInfo}; asyncCallbackInfo->workId = params.workId; diff --git a/interfaces/kits/js/napi/src/obtain_all_works.cpp b/interfaces/kits/js/napi/src/obtain_all_works.cpp index cf1495e3704ffe338fbd06e572777ad8863cea82..7ca7e33a446f914c65682230999269cd2e5dc96c 100644 --- a/interfaces/kits/js/napi/src/obtain_all_works.cpp +++ b/interfaces/kits/js/napi/src/obtain_all_works.cpp @@ -65,7 +65,9 @@ napi_value ObtainAllWorks(napi_env env, napi_callback_info info) napi_value promise = nullptr; AsyncCallbackInfoObtainAllWorks *asyncCallbackInfo = new (std::nothrow) AsyncCallbackInfoObtainAllWorks(env); if (!asyncCallbackInfo) { - return Common::JSParaError(env, callback); + napi_value ret = Common::JSParaError(env, callback); + napi_delete_reference(env, callback); + return ret; } std::unique_ptr callbackPtr {asyncCallbackInfo}; Common::PaddingAsyncWorkData(env, callback, *asyncCallbackInfo, promise); diff --git a/services/native/src/work_scheduler_service.cpp b/services/native/src/work_scheduler_service.cpp index ca9315b2af4f8f6e444046a80adfaa36688cd523..97dda8fa4e2ac9f44642b91ada943821cd111d94 100644 --- a/services/native/src/work_scheduler_service.cpp +++ b/services/native/src/work_scheduler_service.cpp @@ -1522,8 +1522,8 @@ bool WorkSchedulerService::LoadSa(std::shared_ptr workStatus, const void WorkSchedulerService::DumpLoadSaWorks(const std::string &saIdStr, const std::string &uidStr, std::string &result) { - if (!std::all_of(saIdStr.begin(), saIdStr.end(), ::isdigit) - || !std::all_of(uidStr.begin(), uidStr.end(), ::isdigit)) { + if (!std::all_of(saIdStr.begin(), saIdStr.end(), ::isdigit) || + !std::all_of(uidStr.begin(), uidStr.end(), ::isdigit)) { result.append("param error."); return; } diff --git a/services/native/src/work_status.cpp b/services/native/src/work_status.cpp index ee3dd108f475af946a76dc8bc314b483d187af89..0391507ac5c8c979889d1a18bc8147a33ad64bc0 100644 --- a/services/native/src/work_status.cpp +++ b/services/native/src/work_status.cpp @@ -105,13 +105,13 @@ WorkStatus::~WorkStatus() {} int32_t WorkStatus::OnConditionChanged(WorkCondition::Type &type, shared_ptr value) { conditionStatus_.clear(); - if (workInfo_->GetConditionMap()->count(type) > 0 - && type != WorkCondition::Type::TIMER - && type != WorkCondition::Type::GROUP) { + if (workInfo_->GetConditionMap()->count(type) > 0 && + type != WorkCondition::Type::TIMER && + type != WorkCondition::Type::GROUP) { std::lock_guard lock(conditionMapMutex_); - if (conditionMap_.count(type) > 0 - && type >= WorkCondition::Type::NETWORK - && type <= WorkCondition::Type::UNKNOWN) { + if (conditionMap_.count(type) > 0 && + type >= WorkCondition::Type::NETWORK && + type <= WorkCondition::Type::UNKNOWN) { conditionMap_.at(type) = value; } else { conditionMap_.emplace(type, value);