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

index 1b16009662c38cff25cdc3ae37d79bbb36bb1a7a..44b7205908f18099991746b94bf589a9020eede4 100755 (executable)
@@ -3540,6 +3540,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(