Add null checking to prevent problem. 12/259312/1
authorJoonbum Ko <joonbum.ko@samsung.com>
Tue, 25 May 2021 09:22:55 +0000 (18:22 +0900)
committerJoonbum Ko <joonbum.ko@samsung.com>
Fri, 4 Jun 2021 06:51:48 +0000 (15:51 +0900)
Change-Id: Icd94a00b015b5100e6beaa59d435731836a2d376
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
src/tpl_wl_egl_thread.c
src/tpl_wl_vk_thread.c

index c564ae1..7813981 100755 (executable)
@@ -2548,12 +2548,16 @@ __tpl_wl_egl_surface_enqueue_buffer(tpl_surface_t *surface,
                return TPL_ERROR_INVALID_PARAMETER;
        }
 
+       wl_egl_buffer = _get_wl_egl_buffer(tbm_surface);
+       if (!wl_egl_buffer) {
+               TPL_ERR("Failed to get wl_egl_buffer from tbm_surface(%p)", tbm_surface);
+               return TPL_ERROR_INVALID_PARAMETER;
+       }
+
        bo_name = _get_tbm_surface_bo_name(tbm_surface);
 
        TRACE_MARK("[ENQ] BO_NAME:%d", bo_name);
 
-       wl_egl_buffer = _get_wl_egl_buffer(tbm_surface);
-
        tpl_gmutex_lock(&wl_egl_buffer->mutex);
 
        /* If there are received region information, save it to wl_egl_buffer */
index 4ae5b55..4ea1a68 100644 (file)
@@ -2067,6 +2067,11 @@ __tpl_wl_vk_surface_enqueue_buffer(tpl_surface_t *surface,
                                                                  TPL_ERROR_INVALID_PARAMETER);
 
        wl_vk_buffer = _get_wl_vk_buffer(tbm_surface);
+       if (!wl_vk_buffer) {
+               TPL_ERR("Failed to get wl_vk_buffer from tbm_surface(%p)", tbm_surface);
+               return TPL_ERROR_INVALID_PARAMETER;
+       }
+
        bo_name = wl_vk_buffer->bo_name;
 
        tpl_gmutex_lock(&wl_vk_buffer->mutex);