Fix to check return value 69/194569/1 accepted/tizen/4.0/unified/20181207.174706 submit/tizen_4.0/20181206.064850
authorYunjin Lee <yunjin-.lee@samsung.com>
Thu, 6 Dec 2018 02:01:20 +0000 (11:01 +0900)
committerYunjin Lee <yunjin-.lee@samsung.com>
Thu, 6 Dec 2018 02:08:24 +0000 (11:08 +0900)
- Check return value of sqlite3_exec() for begin and commit
transaction.

Change-Id: I887340a7c7485ea06d898473393655d75641b9bc
Signed-off-by: Yunjin Lee <yunjin-.lee@samsung.com>
capi/src/privilege_db_manager.c

index 0d4a4cbb543e1381df262783d372b0c95e66209e..5636e983400ad2ab2927528ad8e4c18b61f67acb 100755 (executable)
@@ -852,7 +852,7 @@ int privilege_db_manager_set_black_list(privilege_manager_policy_type_e policy_t
        if (ret != PRIVILEGE_DB_MANAGER_ERR_NONE)
                return ret;
 
-       sqlite3_exec(db, "BEGIN IMMEDIATE TRANSACTION", NULL, NULL, NULL);
+       TryReturn(sqlite3_exec(db, "BEGIN IMMEDIATE TRANSACTION", NULL, NULL, NULL) == SQLITE_OK, __finalize_db(db, NULL, NULL), PRIVILEGE_DB_MANAGER_ERR_DB_UPDATE_FAIL, "[DB_FAIL] sqlite3_exec for BEGIN IMMEDIATE TRANSACTION failed");
        GList *l = NULL;
        for (l = privilege_list; l != NULL; l = l->next) {
                char *privilege_name = (char *)l->data;
@@ -874,7 +874,7 @@ int privilege_db_manager_set_black_list(privilege_manager_policy_type_e policy_t
                sqlite3_free(sql);
        }
 
-       sqlite3_exec(db, "COMMIT TRANSACTION", NULL, NULL, NULL);
+       TryReturn(sqlite3_exec(db, "COMMIT TRANSACTION", NULL, NULL, NULL) == SQLITE_OK, __finalize_db(db, stmt, NULL), PRIVILEGE_DB_MANAGER_ERR_DB_UPDATE_FAIL, "[DB_FAIL] sqlite3_exec for COMMIT TRANSACTION failed");
        __finalize_db(db, stmt, NULL);
        return PRIVILEGE_DB_MANAGER_ERR_NONE;
 }
@@ -887,7 +887,7 @@ int privilege_db_manager_unset_black_list(privilege_manager_policy_type_e policy
        if (ret != PRIVILEGE_DB_MANAGER_ERR_NONE)
                return ret;
 
-       sqlite3_exec(db, "BEGIN IMMEDIATE TRANSACTION", NULL, NULL, NULL);
+       TryReturn(sqlite3_exec(db, "BEGIN IMMEDIATE TRANSACTION", NULL, NULL, NULL) == SQLITE_OK, __finalize_db(db, NULL, NULL), PRIVILEGE_DB_MANAGER_ERR_DB_UPDATE_FAIL, "[DB_FAIL] sqlite3_exec for BEGIN IMMEDIATE TRANSACTION failed");
        GList *l = NULL;
        for (l = privilege_list; l != NULL; l = l->next) {
                char *privilege_name = (char *)l->data;
@@ -909,7 +909,7 @@ int privilege_db_manager_unset_black_list(privilege_manager_policy_type_e policy
                sqlite3_free(sql);
        }
 
-       sqlite3_exec(db, "COMMIT TRANSACTION", NULL, NULL, NULL);
+       TryReturn(sqlite3_exec(db, "COMMIT TRANSACTION", NULL, NULL, NULL) == SQLITE_OK, __finalize_db(db, stmt, NULL), PRIVILEGE_DB_MANAGER_ERR_DB_UPDATE_FAIL, "[DB_FAIL] sqlite3_exec for COMMIT TRANSACTION failed");
        __finalize_db(db, stmt, NULL);
        return PRIVILEGE_DB_MANAGER_ERR_NONE;
 }
@@ -926,7 +926,7 @@ int privilege_db_manager_set_package_critical_privilege_info(const uid_t uid, co
        ret = privilege_db_manager_get_mapped_privilege_list(api_version, package_type, critical_privilege_list, &mapped_privilege_list);
        TryReturn(ret == PRIVILEGE_DB_MANAGER_ERR_NONE && mapped_privilege_list != NULL, __finalize_db(db, stmt, NULL), PRIVILEGE_DB_MANAGER_ERR_DB_UPDATE_FAIL, "[DB_FAIL] privilege_db_manager_get_mapped_privilege_list failed");
 
-       sqlite3_exec(db, "BEGIN IMMEDIATE TRANSACTION", NULL, NULL, NULL);
+       TryReturn(sqlite3_exec(db, "BEGIN IMMEDIATE TRANSACTION", NULL, NULL, NULL) == SQLITE_OK, __finalize_db(db, NULL, NULL), PRIVILEGE_DB_MANAGER_ERR_DB_UPDATE_FAIL, "[DB_FAIL] sqlite3_exec for BEGIN IMMEDIATE TRANSACTION failed");
        GList *l = NULL;
        for (l = mapped_privilege_list; l != NULL; l = l->next) {
                char *privilege_name = (char *)l->data;
@@ -956,7 +956,7 @@ int privilege_db_manager_set_package_critical_privilege_info(const uid_t uid, co
        }
        g_list_free_full(mapped_privilege_list, free);
 
-       sqlite3_exec(db, "COMMIT TRANSACTION", NULL, NULL, NULL);
+       TryReturn(sqlite3_exec(db, "COMMIT TRANSACTION", NULL, NULL, NULL) == SQLITE_OK, __finalize_db(db, stmt, NULL), PRIVILEGE_DB_MANAGER_ERR_DB_UPDATE_FAIL, "[DB_FAIL] sqlite3_exec for COMMIT TRANSACTION failed");
        __finalize_db(db, stmt, NULL);
        return PRIVILEGE_DB_MANAGER_ERR_NONE;
 }
@@ -972,7 +972,7 @@ int privilege_db_manager_set_package_privacy_privilege_info(const uid_t uid, con
        ret = privilege_db_manager_get_mapped_privilege_list(api_version, package_type, privilege_list, &mapped_privilege_list);
        TryReturn(ret == PRIVILEGE_DB_MANAGER_ERR_NONE && mapped_privilege_list != NULL, __finalize_db(db, stmt, NULL), PRIVILEGE_DB_MANAGER_ERR_DB_UPDATE_FAIL, "[DB_FAIL] privilege_db_manager_get_mapped_privilege_list failed");
 
-       sqlite3_exec(db, "BEGIN IMMEDIATE TRANSACTION", NULL, NULL, NULL);
+       TryReturn(sqlite3_exec(db, "BEGIN IMMEDIATE TRANSACTION", NULL, NULL, NULL) == SQLITE_OK, __finalize_db(db, NULL, NULL), PRIVILEGE_DB_MANAGER_ERR_DB_UPDATE_FAIL, "[DB_FAIL] sqlite3_exec for BEGIN IMMEDIATE TRANSACTION failed");
        GList *l = NULL;
        for (l = mapped_privilege_list; l != NULL; l = l->next) {
                char *privilege_name = (char *)l->data;
@@ -1002,7 +1002,7 @@ int privilege_db_manager_set_package_privacy_privilege_info(const uid_t uid, con
        }
        g_list_free_full(mapped_privilege_list, free);
 
-       sqlite3_exec(db, "COMMIT TRANSACTION", NULL, NULL, NULL);
+       TryReturn(sqlite3_exec(db, "COMMIT TRANSACTION", NULL, NULL, NULL) == SQLITE_OK, __finalize_db(db, stmt, NULL), PRIVILEGE_DB_MANAGER_ERR_DB_UPDATE_FAIL, "[DB_FAIL] sqlite3_exec for COMMIT TRANSACTION failed");
        __finalize_db(db, stmt, NULL);
        return PRIVILEGE_DB_MANAGER_ERR_NONE;
 }