mirror of
https://gitee.com/openharmony/arkcompiler_ets_runtime
synced 2024-10-07 16:13:49 +00:00
Fix possible WeakEcmaGlobalStorage double-free
Issue: https://gitee.com/openharmony/arkcompiler_ets_runtime/issues/I7HKQ2 Signed-off-by: Gymee <yumeijie@huawei.com> Change-Id: Ia8a6f0bb9f61235ca29caf659e0cf87268d4be24
This commit is contained in:
parent
5374ae51a0
commit
877ac51bcb
@ -217,6 +217,8 @@ public:
|
||||
return GetAddress() == nullptr;
|
||||
}
|
||||
|
||||
void SetWeakCallback(void *ref, WeakRefClearCallBack freeGlobalCallBack,
|
||||
WeakRefClearCallBack nativeFinalizeCallback);
|
||||
void SetWeak();
|
||||
|
||||
void ClearWeak();
|
||||
@ -1524,6 +1526,13 @@ inline void CopyableGlobal<T>::Free()
|
||||
}
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
void CopyableGlobal<T>::SetWeakCallback(void *ref, WeakRefClearCallBack freeGlobalCallBack,
|
||||
WeakRefClearCallBack nativeFinalizeCallback)
|
||||
{
|
||||
address_ = JSNApi::SetWeakCallback(vm_, address_, ref, freeGlobalCallBack, nativeFinalizeCallback);
|
||||
}
|
||||
|
||||
template<typename T>
|
||||
void CopyableGlobal<T>::SetWeak()
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user