diff --git a/test-app/runtime/src/main/cpp/ObjectManager.cpp b/test-app/runtime/src/main/cpp/ObjectManager.cpp index ccf45ef92..23a28b8c3 100644 --- a/test-app/runtime/src/main/cpp/ObjectManager.cpp +++ b/test-app/runtime/src/main/cpp/ObjectManager.cpp @@ -325,6 +325,8 @@ void ObjectManager::JSObjectFinalizer(Isolate *isolate, ObjectWeakCallbackState if (jsInstanceInfo == nullptr) { po->Reset(); + delete po; + delete callbackState; return; } @@ -341,6 +343,9 @@ void ObjectManager::JSObjectFinalizer(Isolate *isolate, ObjectWeakCallbackState auto jsInfoIdx = static_cast(MetadataNodeKeys::JsInfo); po->Get(m_isolate)->SetInternalField(jsInfoIdx, Undefined(m_isolate)); po->Reset(); + m_idToObject.erase(javaObjectID); + delete po; + delete callbackState; } }