bytrace的napi的startTrace接口未校验undefined情况--挑单3.2Release

Signed-off-by: chenwei <chenwei469@huawei.com>
This commit is contained in:
chenwei
2023-05-04 09:28:38 +08:00
parent aacfa2353e
commit 30a4887cf4
@@ -93,6 +93,14 @@ bool ParseDoubleParam(const napi_env& env, const napi_value& value, double& dest
return true;
}
bool ParseUndefinedParam(const napi_env& env, const napi_value& value)
{
if (!TypeCheck(env, value, napi_undefined)) {
return false;
}
return true;
}
bool JsStrNumParamsFunc(napi_env& env, napi_callback_info& info, STR_NUM_PARAM_FUNC nativeCall)
{
size_t argc = ARGC_NUMBER_TWO;
@@ -134,7 +142,8 @@ static napi_value JSTraceStart(napi_env env, napi_callback_info info)
StartAsyncTrace(HITRACE_TAG_APP, name, taskId);
} else {
double limit = 0.0;
if (!ParseDoubleParam(env, argv[THIRD_ARG_INDEX], limit)) {
if (!ParseDoubleParam(env, argv[THIRD_ARG_INDEX], limit) && !ParseUndefinedParam(env, argv[THIRD_ARG_INDEX])) {
HiLog::Error(LABEL, "ParseDoubleParam false and ParseUndefinedParam false.");
return nullptr;
}
StartAsyncTrace(HITRACE_TAG_APP, name, taskId, limit);