core: avoid uaf in resource_set_user_data

This commit is contained in:
Vaxry 2024-05-18 19:52:55 +01:00
parent f5181a068c
commit 3afed43647

View file

@ -723,11 +723,12 @@ const wl_interface {} = {{
wl_list_remove(&resourceDestroyListener.link);
wl_list_init(&resourceDestroyListener.link);
wl_resource_set_user_data(pResource, nullptr);
// if we still own the wayland resource,
// it means we need to destroy it.
if (wl_resource_get_user_data(pResource) == this)
wl_resource_destroy(pResource);
wl_resource_set_user_data(pResource, nullptr);
}}
void {}::onDestroyCalled() {{