summaryrefslogtreecommitdiff
path: root/alarm-manager.c
diff options
context:
space:
mode:
authorJiwoong Im <jiwoong.im@samsung.com>2017-04-19 09:11:37 +0900
committerJiwoong Im <jiwoong.im@samsung.com>2017-04-20 10:42:14 +0900
commitd12e85cdd7c43bec3ff9f4859232f1e0a03e63ee (patch)
tree3e6b8397d98d9fc6e8c7879b5b0dff56cd5b0734 /alarm-manager.c
parent77f8a460d4bb17ec946a27be40228fe2e5030587 (diff)
downloadalarm-manager-d12e85cdd7c43bec3ff9f4859232f1e0a03e63ee.tar.gz
alarm-manager-d12e85cdd7c43bec3ff9f4859232f1e0a03e63ee.tar.bz2
alarm-manager-d12e85cdd7c43bec3ff9f4859232f1e0a03e63ee.zip
- Fix memory leak in sqlite3 error_message - Add missing sqlite3_stmt in _load_alarms_from_registry Change-Id: Idbcca3d50d30a0d7848b728cb07cd4ccfdd57879 Signed-off-by: Jiwoong Im <jiwoong.im@samsung.com>
Diffstat (limited to 'alarm-manager.c')
-rw-r--r--alarm-manager.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/alarm-manager.c b/alarm-manager.c
index dbe69c4..2950689 100644
--- a/alarm-manager.c
+++ b/alarm-manager.c
@@ -652,6 +652,7 @@ gboolean __update_relative_alarms(gpointer user_data)
if (sqlite3_exec(alarmmgr_db, "BEGIN EXCLUSIVE", NULL, NULL, &error_message) != SQLITE_OK) {
SECURE_LOGE("sqlite3_exec() is failed. error message = %s", error_message);
+ sqlite3_free(error_message);
return false;
}
@@ -664,6 +665,7 @@ gboolean __update_relative_alarms(gpointer user_data)
if (sqlite3_exec(alarmmgr_db, "COMMIT", NULL, NULL, &error_message) != SQLITE_OK) {
SECURE_LOGE("sqlite3_exec() is failed. error message = %s", error_message);
+ sqlite3_free(error_message);
return false;
}
@@ -1243,6 +1245,7 @@ static bool __alarm_set_global_to_db(__alarm_info_t *alarm_info, bool global)
if (SQLITE_OK != sqlite3_exec(alarmmgr_db, query, NULL, NULL, &error_message)) {
SECURE_LOGE("sqlite3_exec() is failed. query = %s, error message = %s", query, error_message);
sqlite3_free(query);
+ sqlite3_free(error_message);
return false;
}
@@ -3465,12 +3468,16 @@ gboolean alarm_manager_alarm_get_all_info(AlarmManager *pObject, GDBusMethodInvo
}
/* Drop a table */
- if (sqlite3_exec(alarmmgr_tool_db, query_for_deleting_table, NULL, NULL, &error_message) != SQLITE_OK)
+ if (sqlite3_exec(alarmmgr_tool_db, query_for_deleting_table, NULL, NULL, &error_message) != SQLITE_OK) {
ALARM_MGR_EXCEPTION_PRINT("Deleting the table is failed. error message = %s", error_message);
+ sqlite3_free(error_message);
+ }
/* Create a table if it does not exist */
if (sqlite3_exec(alarmmgr_tool_db, query_for_creating_table, NULL, NULL, &error_message) != SQLITE_OK) {
ALARM_MGR_EXCEPTION_PRINT("Creating the table is failed. error message = %s", error_message);
+ sqlite3_free(error_message);
+ sqlite3_close(alarmmgr_tool_db);
return_code = ERR_ALARM_SYSTEM_FAIL;
goto done;
}
@@ -3507,8 +3514,10 @@ gboolean alarm_manager_alarm_get_all_info(AlarmManager *pObject, GDBusMethodInvo
mode->repeat,
entry->alarm_info.alarm_type);
- if (sqlite3_exec(alarmmgr_tool_db, query, NULL, NULL, &error_message) != SQLITE_OK)
+ if (sqlite3_exec(alarmmgr_tool_db, query, NULL, NULL, &error_message) != SQLITE_OK) {
SECURE_LOGE("sqlite3_exec() is failed. error message = %s", error_message);
+ sqlite3_free(error_message);
+ }
sqlite3_free(query);
}