projects
/
platform
/
core
/
uifw
/
libtbm.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
tbm_surface_internal: check bufmgr init success before list init
[platform/core/uifw/libtbm.git]
/
src
/
tbm_surface_internal.c
diff --git
a/src/tbm_surface_internal.c
b/src/tbm_surface_internal.c
index
df57c42
..
c104298
100644
(file)
--- 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) {
_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;
}
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) {
_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;
}
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");
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;
}
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) {
_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;
}
LIST_INITHEAD(&g_surface_bufmgr->surf_list);
bufmgr_initialized = true;
}