summaryrefslogtreecommitdiff
path: root/src/libtracker-sparql/bus/tracker-bus-statement.c
diff options
context:
space:
mode:
authorCarlos Garnacho <carlosg@gnome.org>2023-02-24 00:54:59 +0100
committerCarlos Garnacho <carlosg@gnome.org>2023-02-24 02:16:46 +0100
commitc874630e0275cf7328e983c3aab5a3aa3451cbb2 (patch)
treebd7af4a0e2137c25ef4b48b7f3b951dfed1cfdd9 /src/libtracker-sparql/bus/tracker-bus-statement.c
parent5ab9ce6c9e83d6998ac8ea5e9ee7a9557b9aacd7 (diff)
downloadtracker-c874630e0275cf7328e983c3aab5a3aa3451cbb2.tar.gz
bus: Plug GVariant leaks
There were a couple of GVariant leaks, in the handling of DBus replies and TrackerSparqlStatement parameter handling. Shuffle the variant floating reference ownership of parameters so it's "owned" by the hash table, and not picked by the first GVariantBuilder.
Diffstat (limited to 'src/libtracker-sparql/bus/tracker-bus-statement.c')
-rw-r--r--src/libtracker-sparql/bus/tracker-bus-statement.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/libtracker-sparql/bus/tracker-bus-statement.c b/src/libtracker-sparql/bus/tracker-bus-statement.c
index d24af164e..e5c6e9ef9 100644
--- a/src/libtracker-sparql/bus/tracker-bus-statement.c
+++ b/src/libtracker-sparql/bus/tracker-bus-statement.c
@@ -60,7 +60,7 @@ tracker_bus_statement_bind_string (TrackerSparqlStatement *stmt,
g_hash_table_insert (bus_stmt->arguments,
g_strdup (name),
- g_variant_new_string (value));
+ g_variant_ref_sink (g_variant_new_string (value)));
}
static void
@@ -72,7 +72,7 @@ tracker_bus_statement_bind_boolean (TrackerSparqlStatement *stmt,
g_hash_table_insert (bus_stmt->arguments,
g_strdup (name),
- g_variant_new_boolean (value));
+ g_variant_ref_sink (g_variant_new_boolean (value)));
}
static void
@@ -84,7 +84,7 @@ tracker_bus_statement_bind_double (TrackerSparqlStatement *stmt,
g_hash_table_insert (bus_stmt->arguments,
g_strdup (name),
- g_variant_new_double (value));
+ g_variant_ref_sink (g_variant_new_double (value)));
}
static void
@@ -96,7 +96,7 @@ tracker_bus_statement_bind_int (TrackerSparqlStatement *stmt,
g_hash_table_insert (bus_stmt->arguments,
g_strdup (name),
- g_variant_new_int64 (value));
+ g_variant_ref_sink (g_variant_new_int64 (value)));
}
static void
@@ -110,7 +110,7 @@ tracker_bus_statement_bind_datetime (TrackerSparqlStatement *stmt,
date_str = tracker_date_format_iso8601 (value);
g_hash_table_insert (bus_stmt->arguments,
g_strdup (name),
- g_variant_new_string (date_str));
+ g_variant_ref_sink (g_variant_new_string (date_str)));
g_free (date_str);
}