From 53f8e0877b522665e07edf4588e9e707cda1fdf0 Mon Sep 17 00:00:00 2001 From: Changyeon Lee Date: Mon, 19 Sep 2016 19:06:33 +0900 Subject: [PATCH] check null before access import/export(fd) backend interface Change-Id: I2d2b8a74b1713bfbf9a982436eed54e485dcc263 --- src/tbm_bufmgr.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/tbm_bufmgr.c b/src/tbm_bufmgr.c index 0785ba1..54f1626 100644 --- a/src/tbm_bufmgr.c +++ b/src/tbm_bufmgr.c @@ -852,6 +852,9 @@ tbm_bo_import(tbm_bufmgr bufmgr, unsigned int key) _tbm_util_check_bo_cnt(bufmgr); + if (!bufmgr->backend->bo_import) + return NULL; + pthread_mutex_lock(&bufmgr->lock); bo = calloc(1, sizeof(struct _tbm_bo)); @@ -919,6 +922,9 @@ tbm_bo_import_fd(tbm_bufmgr bufmgr, tbm_fd fd) _tbm_util_check_bo_cnt(bufmgr); + if (!bufmgr->backend->bo_import_fd) + return NULL; + pthread_mutex_lock(&bufmgr->lock); bo = calloc(1, sizeof(struct _tbm_bo)); @@ -984,6 +990,9 @@ tbm_bo_export(tbm_bo bo) bufmgr = bo->bufmgr; + if (!bufmgr->backend->bo_export) + return 0; + pthread_mutex_lock(&bufmgr->lock); ret = bufmgr->backend->bo_export(bo); @@ -1011,6 +1020,9 @@ tbm_bo_export_fd(tbm_bo bo) bufmgr = bo->bufmgr; + if (!bufmgr->backend->bo_export_fd) + return -1; + pthread_mutex_lock(&bufmgr->lock); ret = bufmgr->backend->bo_export_fd(bo); -- 2.7.4