diff options
author | Sam Thursfield <sam@afuera.me.uk> | 2020-12-26 22:16:59 +0000 |
---|---|---|
committer | Sam Thursfield <sam@afuera.me.uk> | 2020-12-26 22:16:59 +0000 |
commit | 4209ade41d6f777d3d43e782033a712c689f00fc (patch) | |
tree | d107135f296e2fec42b9b1f40eed8ba6dec69b35 | |
parent | c2ff245435315d5e5521402c2b34ac2a68d82cd6 (diff) | |
parent | 733f3aec5aaecd0ee8b4d7b7bd575e5811322f30 (diff) | |
download | tracker-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.c | 5 | ||||
-rw-r--r-- | src/libtracker-data/tracker-data-update.c | 21 | ||||
-rw-r--r-- | src/libtracker-sparql/direct/tracker-direct-batch.c | 2 | ||||
-rw-r--r-- | src/libtracker-sparql/tracker-endpoint-dbus.c | 1 |
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); } |