diff --git a/src/js_native_api_v8.cpp b/src/js_native_api_v8.cpp index 36d9fbb634080b712c8677460ce91c4c8ca10de2..c70f540219f8d0856b0e8c90237ae0e4951daae6 100644 --- a/src/js_native_api_v8.cpp +++ b/src/js_native_api_v8.cpp @@ -2921,13 +2921,11 @@ JSVM_Status OH_JSVM_CallFunction(JSVM_Env env, auto maybe = v8func->Call(context, v8recv, argc, reinterpret_cast*>(const_cast(argv))); - if (UNLIKELY(env->debugFlags)) { - if (UNLIKELY(env->debugFlags & (1 << JSVM_SCOPE_CHECK))) { - if (argv != nullptr) { - for (int i = 0; i <= argc; i++) { - ADD_VAL_TO_SCOPE_CHECK(env, argv[i]); - } - } + if (UNLIKELY(env->debugFlags) && + UNLIKELY(env->debugFlags & (1 << JSVM_SCOPE_CHECK)) && + argv != nullptr) { + for (size_t i = 0; i <= argc; i++) { + ADD_VAL_TO_SCOPE_CHECK(env, argv[i]); } } diff --git a/src/jsvm_dfx.h b/src/jsvm_dfx.h index e4ce8b2a85b88dc7530b2f45a53992f0807c76b3..f0f663eccd23e71e492dfe31e37309fa6f6100c9 100644 --- a/src/jsvm_dfx.h +++ b/src/jsvm_dfx.h @@ -97,10 +97,11 @@ public: scopeDepthToVal[scopeDepthToVal.size() - 1].push_back(val); } else { // Add JSVM value to parent depth - if (scopeDepthToVal.size() - 2 < 0) { + size_t depth = 2; + if (scopeDepthToVal.size() < depth) { JSVM_FATAL("Not in any scope!"); } - scopeDepthToVal[scopeDepthToVal.size() - 2].push_back(val); + scopeDepthToVal[scopeDepthToVal.size() - depth].push_back(val); } }