From d3faf5e33de296695460a68bc3cfaf94f2059071 Mon Sep 17 00:00:00 2001 From: Junkyeong Kim Date: Tue, 2 Mar 2021 10:15:27 +0900 Subject: [PATCH] tbm_surface_internal: check bufmgr init success before list init Change-Id: I4b18a5b8375146d7518665d871585d8b8613027a Signed-off-by: Junkyeong Kim --- src/tbm_surface_internal.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/tbm_surface_internal.c b/src/tbm_surface_internal.c index df57c42..c104298 100644 --- a/src/tbm_surface_internal.c +++ b/src/tbm_surface_internal.c @@ -630,6 +630,11 @@ tbm_surface_internal_query_supported_formats(uint32_t **formats, if (!g_surface_bufmgr) { _init_surface_bufmgr(); + if (!g_surface_bufmgr) { + TBM_ERR("fail bufmgr initialization\n"); + _tbm_set_last_result(TBM_ERROR_INVALID_OPERATION); + goto fail; + } LIST_INITHEAD(&g_surface_bufmgr->surf_list); bufmgr_initialized = true; } @@ -770,6 +775,11 @@ tbm_surface_internal_create_with_flags(int width, int height, if (!g_surface_bufmgr) { _init_surface_bufmgr(); + if (!g_surface_bufmgr) { + TBM_ERR("fail bufmgr initialization\n"); + _tbm_set_last_result(TBM_ERROR_INVALID_OPERATION); + goto check_valid_fail; + } LIST_INITHEAD(&g_surface_bufmgr->surf_list); bufmgr_initialized = true; } @@ -777,6 +787,7 @@ tbm_surface_internal_create_with_flags(int width, int height, bufmgr = g_surface_bufmgr; if (!TBM_BUFMGR_IS_VALID(bufmgr)) { TBM_ERR("The bufmgr is invalid\n"); + _tbm_set_last_result(TBM_ERROR_INVALID_PARAMETER); goto check_valid_fail; } @@ -965,6 +976,11 @@ tbm_surface_internal_create_with_bos(tbm_surface_info_s *info, if (!g_surface_bufmgr) { _init_surface_bufmgr(); + if (!g_surface_bufmgr) { + TBM_ERR("fail bufmgr initialization\n"); + _tbm_set_last_result(TBM_ERROR_INVALID_OPERATION); + goto check_valid_fail; + } LIST_INITHEAD(&g_surface_bufmgr->surf_list); bufmgr_initialized = true; } -- 2.7.4