From: Seunghun Lee Date: Wed, 3 Jan 2024 05:38:30 +0000 (+0900) Subject: e_comp_wl_buffer: Fix null dereference X-Git-Tag: accepted/tizen/8.0/unified/20240105.070019~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=27f2ee2fc92a0177ea93c9650f8a85f2fa420e03;p=platform%2Fupstream%2Fenlightenment.git e_comp_wl_buffer: Fix null dereference The return value of ds_buffer_get_resource() can be null if the wl_resource of wl_buffer has been destroyed. This patch addresses this issue by properly checking for a null return value and handling it accordingly. Change-Id: I3c4afe568d2c44f051db8bc5762f10207f558f84 (cherry picked from commit 1fe594806d3fdd2a3ce8979f3ea70bd5d6910d3d) --- diff --git a/src/bin/e_comp_wl_buffer.c b/src/bin/e_comp_wl_buffer.c index 0197e0c00d..a5f52aad48 100644 --- a/src/bin/e_comp_wl_buffer.c +++ b/src/bin/e_comp_wl_buffer.c @@ -168,6 +168,9 @@ _e_comp_wl_buffer_init(E_Comp_Wl_Buffer *base, struct ds_buffer *ds_buffer) struct wl_resource *resource; resource = ds_buffer_get_resource(ds_buffer); + if (!resource) + return EINA_FALSE; + shmbuff = wl_shm_buffer_get(resource); if (shmbuff) { @@ -263,6 +266,9 @@ _e_buffer_from_buffer(struct ds_buffer *ds_buffer) struct wl_listener *listener; resource = ds_buffer_get_resource(ds_buffer); + if (!resource) + return NULL; + listener = wl_resource_get_destroy_listener(resource, _e_buffer_cb_resource_destroy); if (listener) return wl_container_of(listener, buffer, base.destroy_listener);