check null before access import/export(fd) backend interface 97/88497/1
authorChangyeon Lee <cyeon.lee@samsung.com>
Mon, 19 Sep 2016 10:06:33 +0000 (19:06 +0900)
committerChangyeon Lee <cyeon.lee@samsung.com>
Mon, 19 Sep 2016 10:13:44 +0000 (19:13 +0900)
Change-Id: I2d2b8a74b1713bfbf9a982436eed54e485dcc263

src/tbm_bufmgr.c

index 0785ba1..54f1626 100644 (file)
@@ -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);