summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam Thursfield <sam@afuera.me.uk>2020-12-26 22:16:59 +0000
committerSam Thursfield <sam@afuera.me.uk>2020-12-26 22:16:59 +0000
commit4209ade41d6f777d3d43e782033a712c689f00fc (patch)
treed107135f296e2fec42b9b1f40eed8ba6dec69b35
parentc2ff245435315d5e5521402c2b34ac2a68d82cd6 (diff)
parent733f3aec5aaecd0ee8b4d7b7bd575e5811322f30 (diff)
downloadtracker-4209ade41d6f777d3d43e782033a712c689f00fc.tar.gz
Merge branch 'wip/carlosg/plug-leaks' into 'master'
Plug some leaks See merge request GNOME/tracker!365
-rw-r--r--src/libtracker-data/tracker-data-manager.c5
-rw-r--r--src/libtracker-data/tracker-data-update.c21
-rw-r--r--src/libtracker-sparql/direct/tracker-direct-batch.c2
-rw-r--r--src/libtracker-sparql/tracker-endpoint-dbus.c1
4 files changed, 14 insertions, 15 deletions
diff --git a/src/libtracker-data/tracker-data-manager.c b/src/libtracker-data/tracker-data-manager.c
index 4a2bee58d..23291722d 100644
--- a/src/libtracker-data/tracker-data-manager.c
+++ b/src/libtracker-data/tracker-data-manager.c
@@ -5097,18 +5097,19 @@ tracker_data_manager_expand_prefix (TrackerDataManager *manager,
expanded_ns = tracker_namespace_get_uri (namespaces[i]);
if (prefix_map)
- g_hash_table_insert (prefix_map, ns, g_strdup (expanded_ns));
+ g_hash_table_insert (prefix_map, g_strdup (ns), g_strdup (expanded_ns));
break;
}
}
+ g_free (ns);
+
if (!expanded_ns) {
if (prefix)
*prefix = NULL;
if (expanded)
*expanded = g_strdup (term);
- g_free (ns);
return FALSE;
}
diff --git a/src/libtracker-data/tracker-data-update.c b/src/libtracker-data/tracker-data-update.c
index 2f461f4dc..ef1ea0510 100644
--- a/src/libtracker-data/tracker-data-update.c
+++ b/src/libtracker-data/tracker-data-update.c
@@ -1625,13 +1625,12 @@ bytes_from_gvalue (GValue *gvalue,
}
*bytes = g_bytes_new (bnode, strlen (bnode) + 1);
- } else if (tracker_data_manager_expand_prefix (data->manager,
- g_value_get_string (gvalue),
- NULL, NULL,
- &expanded)) {
- *bytes = g_bytes_new_take (expanded, strlen (expanded) + 1);
} else {
- *bytes = g_bytes_new (uri, strlen (uri) + 1);
+ tracker_data_manager_expand_prefix (data->manager,
+ g_value_get_string (gvalue),
+ NULL, NULL,
+ &expanded);
+ *bytes = g_bytes_new_take (expanded, strlen (expanded) + 1);
}
} else if (G_VALUE_HOLDS_STRING (gvalue)) {
const gchar *ptr;
@@ -3006,11 +3005,8 @@ update_resource_single (TrackerData *data,
subject, "rdf:type",
visited, bnodes,
&inner_error);
-
- if (inner_error) {
- g_propagate_error (error, inner_error);
- return FALSE;
- }
+ if (inner_error)
+ goto out;
}
if (!is_bnode) {
@@ -3058,9 +3054,10 @@ update_resource_single (TrackerData *data,
break;
}
+out:
g_list_free (properties);
+ g_free (graph_uri);
-out:
if (inner_error) {
g_propagate_error (error, inner_error);
return FALSE;
diff --git a/src/libtracker-sparql/direct/tracker-direct-batch.c b/src/libtracker-sparql/direct/tracker-direct-batch.c
index 718a1cdc6..748836456 100644
--- a/src/libtracker-sparql/direct/tracker-direct-batch.c
+++ b/src/libtracker-sparql/direct/tracker-direct-batch.c
@@ -198,7 +198,7 @@ tracker_direct_batch_update (TrackerDirectBatch *batch,
priv = tracker_direct_batch_get_instance_private (batch);
data = tracker_data_manager_get_data (data_manager);
- bnodes = g_hash_table_new_full (g_str_hash, g_str_equal, NULL, g_free);
+ bnodes = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, g_free);
tracker_data_begin_transaction (data, &inner_error);
if (inner_error)
diff --git a/src/libtracker-sparql/tracker-endpoint-dbus.c b/src/libtracker-sparql/tracker-endpoint-dbus.c
index 2418aa03a..b8bf3c604 100644
--- a/src/libtracker-sparql/tracker-endpoint-dbus.c
+++ b/src/libtracker-sparql/tracker-endpoint-dbus.c
@@ -446,6 +446,7 @@ update_cb (GObject *object,
res, &error);
if (error) {
g_dbus_method_invocation_return_gerror (request->invocation, error);
+ g_error_free (error);
} else {
g_dbus_method_invocation_return_value (request->invocation, NULL);
}