diff options
author | Seunghun Lee <shiin.lee@samsung.com> | 2015-05-20 22:46:56 +0900 |
---|---|---|
committer | Seunghun Lee <shiin.lee@samsung.com> | 2015-05-20 23:21:53 +0900 |
commit | bef45e09ded429d000261d1ade86971abcaf0fdd (patch) | |
tree | 2a3e73ea6dbce7434a1273a311c8019e8e80c452 | |
parent | 60b7a5f37bda3f4b654a5b4591c27c5c04d311e1 (diff) | |
download | efl-bef45e09ded429d000261d1ade86971abcaf0fdd.tar.gz |
ecore-buffer: check if NULL before using function pointer
Change-Id: Iee774c7ab702b850c3de8f8de49b361af28cb49c
-rw-r--r-- | src/lib/ecore_buffer/ecore_buffer.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/lib/ecore_buffer/ecore_buffer.c b/src/lib/ecore_buffer/ecore_buffer.c index 2e93b0f5cb..ef1a68a9f6 100644 --- a/src/lib/ecore_buffer/ecore_buffer.c +++ b/src/lib/ecore_buffer/ecore_buffer.c @@ -247,6 +247,14 @@ ecore_buffer_new(const char* engine, unsigned int width, unsigned int height, Ec return NULL; } + EINA_SAFETY_ON_NULL_RETURN_VAL(bm->be, NULL); + + if (!bm->be->buffer_alloc) + { + ERR("Not supported create buffer"); + return NULL; + } + bo_data = bm->be->buffer_alloc(bm->data, width, height, format, flags); if (!bo_data) return NULL; @@ -283,6 +291,12 @@ ecore_buffer_new_with_tbm_surface(const char *engine, void *tbm_surface, unsigne EINA_SAFETY_ON_NULL_RETURN_VAL(bm->be, NULL); + if (!bm->be->buffer_alloc_with_tbm_surface) + { + ERR("Not supported create buffer with tbm_surface"); + return NULL; + } + bo_data = bm->be->buffer_alloc_with_tbm_surface(bm->data, tbm_surface, &w, &h, &format, flags); if (!bo_data) @@ -475,6 +489,12 @@ _ecore_buffer_import(const char* engine, int width, int height, Ecore_Buffer_For EINA_SAFETY_ON_NULL_RETURN_VAL(bm->be, NULL); + if (!bm->be->buffer_import) + { + ERR("Not supported import buffer"); + return NULL; + } + bo_data = bm->be->buffer_import(bm->data, width, height, format, type, export_id, flags); if (!bo_data) return NULL; |