summaryrefslogtreecommitdiff
path: root/alarm-manager-registry.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-21 10:17:22 +0900
commit87f8c2e7225de350d295756d494a90167cf4de1c (patch)
tree580c9aa934a5c894e4a9cab409e4e643bac7d751 /alarm-manager-registry.c
parent83c308a8ba16dc08bac0a9891131912fc4305aa9 (diff)
downloadalarm-manager-87f8c2e7225de350d295756d494a90167cf4de1c.tar.gz
alarm-manager-87f8c2e7225de350d295756d494a90167cf4de1c.tar.bz2
alarm-manager-87f8c2e7225de350d295756d494a90167cf4de1c.zip
Fix memory leak
- 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-registry.c')
-rw-r--r--alarm-manager-registry.c23
1 files changed, 11 insertions, 12 deletions
diff --git a/alarm-manager-registry.c b/alarm-manager-registry.c
index 1e8d7d3..0554c0a 100644
--- a/alarm-manager-registry.c
+++ b/alarm-manager-registry.c
@@ -46,7 +46,7 @@ extern sqlite3 *alarmmgr_db;
bool _save_alarms(__alarm_info_t *__alarm_info);
bool _update_alarms(__alarm_info_t *__alarm_info);
bool _delete_alarms(alarm_id_t alarm_id);
-bool _load_alarms_from_registry(void);
+void _load_alarms_from_registry(void);
bool _save_alarms(__alarm_info_t *__alarm_info)
{
@@ -100,6 +100,7 @@ bool _save_alarms(__alarm_info_t *__alarm_info)
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(error_message);
sqlite3_free(query);
return false;
}
@@ -159,6 +160,7 @@ bool _update_alarms(__alarm_info_t *__alarm_info)
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(error_message);
sqlite3_free(query);
return false;
}
@@ -174,6 +176,7 @@ bool _delete_alarms(alarm_id_t alarm_id)
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(error_message);
sqlite3_free(query);
return false;
}
@@ -182,7 +185,7 @@ bool _delete_alarms(alarm_id_t alarm_id)
return true;
}
-bool _load_alarms_from_registry()
+void _load_alarms_from_registry()
{
int i = 0;
int col_idx;
@@ -207,7 +210,7 @@ bool _load_alarms_from_registry()
if (SQLITE_OK != sqlite3_prepare(alarmmgr_db, query, strlen(query), &stmt, &tail)) {
ALARM_MGR_EXCEPTION_PRINT("sqlite3_prepare() is failed.");
- return false;
+ return;
}
for (i = 0; SQLITE_ROW == sqlite3_step(stmt); i++) {
@@ -216,7 +219,7 @@ bool _load_alarms_from_registry()
if (G_UNLIKELY(__alarm_info == NULL)) {
ALARM_MGR_EXCEPTION_PRINT("Memory allocation failed.");
- return false;
+ goto done;
}
alarm_info = (alarm_info_t *) &(__alarm_info->alarm_info);
start = &alarm_info->start;
@@ -287,15 +290,12 @@ bool _load_alarms_from_registry()
alarm_context.alarms = g_slist_append(alarm_context.alarms, __alarm_info);
}
}
-
-
+done:
_alarm_schedule();
- if (SQLITE_OK != sqlite3_finalize(stmt)) {
+ if (sqlite3_finalize(stmt) != SQLITE_OK)
ALARM_MGR_EXCEPTION_PRINT("sqlite3_finalize() is failed.");
- return false;
- }
- return true;
+ return;
}
void _update_db_for_disabled_alarm(alarm_id_t alarm_id, bool disabled)
@@ -307,8 +307,7 @@ void _update_db_for_disabled_alarm(alarm_id_t alarm_id, bool disabled)
if (SQLITE_OK != sqlite3_exec(alarmmgr_db, query, NULL, NULL, &error_message)) {
SECURE_LOGE("Failed to update the DB table. error message = %s", error_message);
- if (error_message)
- sqlite3_free(error_message);
+ sqlite3_free(error_message);
}
sqlite3_free(query);