diff --git a/native_engine/impl/quickjs/quickjs_native_engine.cpp b/native_engine/impl/quickjs/quickjs_native_engine.cpp index 56adf9d95c6056ff692c3ce0bdf0df0b99637b51..1f212ad7f4155aabc846abe58d1a1f2c5d5a0d90 100644 --- a/native_engine/impl/quickjs/quickjs_native_engine.cpp +++ b/native_engine/impl/quickjs/quickjs_native_engine.cpp @@ -606,8 +606,18 @@ NativeValue* QuickJSNativeEngine::JSValueToNativeValue(QuickJSNativeEngine* engi void* QuickJSNativeEngine::CreateRuntime() { JSRuntime* runtime = JS_NewRuntime(); + if (runtime == nullptr) { + return nullptr; + } JSContext* context = JS_NewContext(runtime); - return reinterpret_cast(new QuickJSNativeEngine(runtime, context, this)); + if (context == nullptr) { + return nullptr; + } + QuickJSNativeEngine* qjsEngine = new QuickJSNativeEngine(runtime, context, this); + if (qjsEngine == nullptr) { + return nullptr; + } + return qjsEngine; } bool QuickJSNativeEngine::CheckTransferList(JSValue transferList)