From e3061208afd0f9878ef088278e01422c84cf5a8e Mon Sep 17 00:00:00 2001 From: zhongjianfei Date: Tue, 25 Jan 2022 16:43:39 +0800 Subject: [PATCH] zhongjianfei@huawei.com Signed-off-by: zhongjianfei Change-Id: I3dc50d018320b919a208258c899593d9414e3ac8 --- .../inner/napi_common/napi_common_ability.cpp | 26 ++++++++++--------- 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/interfaces/kits/napi/aafwk/inner/napi_common/napi_common_ability.cpp b/interfaces/kits/napi/aafwk/inner/napi_common/napi_common_ability.cpp index 41fa1bc652a..055b443d545 100644 --- a/interfaces/kits/napi/aafwk/inner/napi_common/napi_common_ability.cpp +++ b/interfaces/kits/napi/aafwk/inner/napi_common/napi_common_ability.cpp @@ -2309,13 +2309,15 @@ void StartAbilityExecuteCB(napi_env env, void *data) HILOG_ERROR("%{public}s asyncCallbackInfo == nullptr", __func__); return; } - asyncCallbackInfo->errCode = NAPI_ERR_NO_ERROR; + if (asyncCallbackInfo->errCode != NAPI_ERR_NO_ERROR) { + HILOG_ERROR("%{public}s errCode:%{public}d", __func__, asyncCallbackInfo->errCode); + return; + } if (asyncCallbackInfo->ability == nullptr) { asyncCallbackInfo->errCode = NAPI_ERR_ACE_ABILITY; HILOG_ERROR("%{public}s ability == nullptr", __func__); return; } - if (!CheckAbilityType(asyncCallbackInfo)) { HILOG_ERROR("%{public}s wrong ability type", __func__); asyncCallbackInfo->errCode = NAPI_ERR_ABILITY_TYPE_INVALID; @@ -2457,20 +2459,20 @@ napi_value StartAbilityWrap(napi_env env, napi_callback_info info, AsyncCallback const size_t argCountWithAsync = argcPromise + ARGS_ASYNC_COUNT; napi_value args[ARGS_MAX_COUNT] = {nullptr}; napi_value ret = 0; - + asyncCallbackInfo->errCode = NAPI_ERR_NO_ERROR; NAPI_CALL(env, napi_get_cb_info(env, info, &argcAsync, args, nullptr, nullptr)); if (argcAsync > argCountWithAsync || argcAsync > ARGS_MAX_COUNT) { HILOG_ERROR("%{public}s, Wrong argument count.", __func__); - return nullptr; - } - - CallAbilityParam param; - if (UnwrapParamForWant(env, args[PARAM0], asyncCallbackInfo->abilityType, param) == false) { - HILOG_ERROR("%{public}s, call UnwrapParamForWant failed.", __func__); - return nullptr; + asyncCallbackInfo->errCode = NAPI_ERR_PARAM_INVALID; + } else { + CallAbilityParam param; + if (UnwrapParamForWant(env, args[PARAM0], asyncCallbackInfo->abilityType, param)) { + asyncCallbackInfo->param = param; + } else { + HILOG_ERROR("%{public}s, call UnwrapParamForWant failed.", __func__); + asyncCallbackInfo->errCode = NAPI_ERR_PARAM_INVALID; + } } - - asyncCallbackInfo->param = param; if (argcAsync > argcPromise) { ret = StartAbilityAsync(env, args, 1, asyncCallbackInfo); } else { -- Gitee