Add NULL checking 53/307853/1
authordyamy-lee <dyamy.lee@samsung.com>
Tue, 12 Mar 2024 08:03:29 +0000 (17:03 +0900)
committerTizen AI <ai.tzn.sec@samsung.com>
Thu, 14 Mar 2024 01:42:37 +0000 (10:42 +0900)
NULL_AFTER_DEREF Alarm needs checking NULL.
So, it added null check before using db_handle variable.

Change-Id: I40d4e166a86df23b3ffce6ba7f41c14ae3b443aa

common/vc_cmd_db.c

index 6250dfb..6afb62b 100644 (file)
@@ -1529,6 +1529,11 @@ static int __vc_db_open_db_for_daemon(const char* path, sqlite3** db_handle)
                return VC_DB_ERROR_OPERATION_FAILED;
        }
 
+       if (*db_handle == NULL) {
+               SLOG(LOG_ERROR, vc_db_tag(), "[ERROR] Fail to open db, path = %s, ret(%d)", path, ret);
+               return VC_DB_ERROR_OPERATION_FAILED;
+       }
+
        ret = sqlite3_exec(*db_handle, "PRAGMA integrity_check", 0, 0, 0);
        if (SQLITE_OK != ret) {
                SLOG(LOG_ERROR, vc_db_tag(), "[ERROR] Fail to open DB for daemon");
@@ -1579,17 +1584,16 @@ static int __vc_db_open_db_for_daemon(const char* path, sqlite3** db_handle)
                __vc_db_commit_transaction(*db_handle);
        }
 
-       if (*db_handle) {
-               char* err_msg = NULL;
-               static const char* sql = "PRAGMA journal_mode = WAL";
-               int ret = sqlite3_exec(*db_handle, sql, NULL, NULL, &err_msg);
-               if (ret != SQLITE_OK) {
-                       SLOG(LOG_ERROR, vc_db_tag(), "sqlite3_exec returned %d: %s", ret, err_msg);
-                       sqlite3_free(err_msg);
-                       err_msg = NULL;
-                       return VC_DB_ERROR_OPERATION_FAILED;
-               }
+       char* err_msg = NULL;
+       static const char* sql = "PRAGMA journal_mode = WAL";
+       ret = sqlite3_exec(*db_handle, sql, NULL, NULL, &err_msg);
+       if (ret != SQLITE_OK) {
+               SLOG(LOG_ERROR, vc_db_tag(), "sqlite3_exec returned %d: %s", ret, err_msg);
+               sqlite3_free(err_msg);
+               err_msg = NULL;
+               return VC_DB_ERROR_OPERATION_FAILED;
        }
+
        return VC_DB_ERROR_NONE;
 }