wl_egl: add exception checking to find invalid wl_egl_buffer 35/309535/1
authorJoonbum Ko <joonbum.ko@samsung.com>
Fri, 12 Apr 2024 04:13:51 +0000 (13:13 +0900)
committerJoonbum Ko <joonbum.ko@samsung.com>
Fri, 12 Apr 2024 04:13:51 +0000 (13:13 +0900)
Change-Id: If5d66523e1d190d2c341f81ff01edf3411c2f3b5
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
src/tpl_wl_egl_thread.c

index 11d7dda43eeb1561fe156c516812e1c7cea4a286..df9a73375e42dbe05acda7078cb07a03d72cfbc9 100755 (executable)
@@ -3529,6 +3529,12 @@ _thread_wl_surface_commit(tpl_wl_egl_surface_t *wl_egl_surface,
        TPL_CHECK_ON_FALSE_ASSERT_FAIL(wl_egl_buffer != NULL,
                                                                   "wl_egl_buffer sould be not NULL");
 
+       if (__tpl_list_get_count(wl_egl_surface->buffers) == 0) {
+               TPL_ERR("wl_egl_buffer(%p) already has been removed from wl_egl_surface(%p)",
+                               wl_egl_buffer, wl_egl_surface);
+               return;
+       }
+
        if (wl_egl_buffer->wl_buffer == NULL) {
                wl_egl_buffer->wl_buffer =
                        (struct wl_proxy *)wayland_tbm_client_create_buffer(