bufmgr: Fix missing lock 92/307192/3
authorChangyeon Lee <cyeon.lee@samsung.com>
Wed, 6 Mar 2024 03:36:07 +0000 (12:36 +0900)
committerChangyeon Lee <cyeon.lee@samsung.com>
Wed, 6 Mar 2024 08:44:35 +0000 (17:44 +0900)
Change-Id: I9efdaa913f9ad24daf35a51c4ccba3e72a26e246

src/tbm_bufmgr.c

index 8d73eea..78a7189 100644 (file)
@@ -364,12 +364,17 @@ tbm_bufmgr_init(int fd)
 void
 tbm_bufmgr_deinit(tbm_bufmgr bufmgr)
 {
-       TBM_RETURN_IF_FAIL(TBM_BUFMGR_IS_VALID(bufmgr));
-
        pthread_mutex_lock(&gLock);
        _tbm_bufmgr_mutex_lock();
        _tbm_set_last_result(TBM_ERROR_NONE);
 
+       if (!TBM_BUFMGR_IS_VALID(bufmgr)) {
+               TBM_ERR("TBM_BUFMGR_IS_VALID failed.");
+               _tbm_bufmgr_mutex_unlock();
+               pthread_mutex_unlock(&gLock);
+               return;
+       }
+
        if (!gBufMgr) {
                TBM_ERR("gBufmgr already destroy: bufmgr:%p", bufmgr);
                _tbm_bufmgr_mutex_unlock();