diff options
author | jusung son <jusung07.son@samsung.com> | 2016-03-22 15:49:11 +0900 |
---|---|---|
committer | Semun Lee <sm79.lee@samsung.com> | 2016-03-22 23:52:28 -0700 |
commit | 779dbe413df49381ade165b634f23ad20d6c5529 (patch) | |
tree | b31c9001c27ac2e15b603c13e19a385338f2c2f8 | |
parent | dd10133494efdda2cc62506251bc898bc677abe9 (diff) | |
download | notification-779dbe413df49381ade165b634f23ad20d6c5529.tar.gz notification-779dbe413df49381ade165b634f23ad20d6c5529.tar.bz2 notification-779dbe413df49381ade165b634f23ad20d6c5529.zip |
Fix memory leaksubmit/tizen/20160323.235918submit/tizen/20160323.065638accepted/tizen/wearable/20160324.132652accepted/tizen/tv/20160324.132728accepted/tizen/mobile/20160324.132906accepted/tizen/ivi/20160324.131621accepted/tizen/common/20160325.134911accepted/tizen/common/20160324.084219
Change-Id: If66e60e8ccd7dff8d14b9e879ba390487932e76f
Signed-off-by: jusung son <jusung07.son@samsung.com>
-rwxr-xr-x | src/notification_group.c | 2 | ||||
-rwxr-xr-x | src/notification_ipc.c | 4 | ||||
-rwxr-xr-x | src/notification_noti.c | 14 |
3 files changed, 10 insertions, 10 deletions
diff --git a/src/notification_group.c b/src/notification_group.c index 3f4d718..21927ea 100755 --- a/src/notification_group.c +++ b/src/notification_group.c @@ -173,6 +173,8 @@ int notification_group_get_badge(const char *pkgname, NOTIFICATION_ERR("Select Query : %s", query); NOTIFICATION_ERR("Select DB error(%d) : %s", ret, sqlite3_errmsg(db)); + if (db) + notification_db_close(&db); return NOTIFICATION_ERROR_FROM_DB; } diff --git a/src/notification_ipc.c b/src/notification_ipc.c index c2ce9ac..c449005 100755 --- a/src/notification_ipc.c +++ b/src/notification_ipc.c @@ -1435,7 +1435,7 @@ static gboolean _variant_to_int_dict(GHashTable **dict, GVariant *variant) { while (g_variant_iter_next(&iter, "{iv}", &key, &value)) { hash_key = (int *)calloc(sizeof(int), 1); if (hash_key == NULL) { - g_hash_table_remove_all(*dict); + g_hash_table_unref(*dict); return FALSE; } *hash_key = key; @@ -1589,7 +1589,7 @@ EXPORT_API int notification_ipc_make_noti_from_gvariant(notification_h noti, noti->temp_content = _dup_string(temp_content); noti->tag = _dup_string(tag); - g_hash_table_remove_all(dict); + g_hash_table_unref(dict); return NOTIFICATION_ERROR_NONE; } diff --git a/src/notification_noti.c b/src/notification_noti.c index 75297e0..6987f67 100755 --- a/src/notification_noti.c +++ b/src/notification_noti.c @@ -940,18 +940,12 @@ EXPORT_API int notification_noti_insert(notification_h noti) ret = _notification_noti_bind_query_double(stmt, "$progress_size", noti->progress_size); if (ret != NOTIFICATION_ERROR_NONE) { NOTIFICATION_ERR("Bind error : %s", sqlite3_errmsg(db)); - if (stmt) - sqlite3_finalize(stmt); - - return ret; + goto err; } ret = _notification_noti_bind_query_double(stmt, "$progress_percentage", noti->progress_percentage); if (ret != NOTIFICATION_ERROR_NONE) { NOTIFICATION_ERR("Bind error : %s", sqlite3_errmsg(db)); - if (stmt) - sqlite3_finalize(stmt); - - return ret; + goto err; } ret = sqlite3_step(stmt); @@ -1917,6 +1911,8 @@ EXPORT_API int notification_noti_check_tag(notification_h noti) ret = sqlite3_prepare_v2(db, "SELECT priv_id FROM noti_list WHERE caller_pkgname = ? and tag = ?", -1, &stmt, NULL); if (ret != SQLITE_OK) { NOTIFICATION_ERR("Error: %s\n", sqlite3_errmsg(db)); + if (db) + notification_db_close(&db); return NOTIFICATION_ERROR_OUT_OF_MEMORY; } @@ -1949,6 +1945,8 @@ EXPORT_API int notification_noti_check_tag(notification_h noti) } err: + if (db) + notification_db_close(&db); return ret; } |