[tracker/tracker-0.6] Plug potential leak when setting DB pragmas.
- From: Carlos Garnacho <carlosg src gnome org>
- To: svn-commits-list gnome org
- Subject: [tracker/tracker-0.6] Plug potential leak when setting DB pragmas.
- Date: Wed, 27 May 2009 08:16:53 -0400 (EDT)
commit e236ff746564cdaae3ee57e49b5d957a58347703
Author: Carlos Garnacho <carlosg gnome org>
Date: Wed May 27 14:15:39 2009 +0200
Plug potential leak when setting DB pragmas.
Turns out some pragmas can return data, so we have to unref the
TrackerDBResultSet if any is returned.
---
src/libtracker-db/tracker-db-manager.c | 16 +++++++++++-----
1 files changed, 11 insertions(+), 5 deletions(-)
diff --git a/src/libtracker-db/tracker-db-manager.c b/src/libtracker-db/tracker-db-manager.c
index a82dc29..d78d650 100644
--- a/src/libtracker-db/tracker-db-manager.c
+++ b/src/libtracker-db/tracker-db-manager.c
@@ -1485,11 +1485,17 @@ db_set_params (TrackerDBInterface *iface,
if (pragmas) {
g_hash_table_iter_init (&iter, pragmas);
while (g_hash_table_iter_next (&iter, &key, &value)) {
- tracker_db_interface_execute_query (iface,
- NULL,
- "PRAGMA %s = %s;",
- (const gchar*) key,
- (const gchar*) value);
+ TrackerDBResultSet *result_set;
+
+ result_set = tracker_db_interface_execute_query (iface,
+ NULL,
+ "PRAGMA %s = %s;",
+ (const gchar*) key,
+ (const gchar*) value);
+
+ if (result_set) {
+ g_object_unref (result_set);
+ }
}
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]