summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarlos Garnacho <carlosg@gnome.org>2018-09-22 22:43:56 +0200
committerCarlos Garnacho <carlosg@gnome.org>2018-11-13 11:17:31 +0100
commitc8c5c43cba77630548f212f0c4bde447f90a4807 (patch)
tree77f82001539e872bda6e5911b71540df73517fdb
parent1041d4ef1c89a02b7c3a059cfb74fcb7ae91ff99 (diff)
downloadtracker-c8c5c43cba77630548f212f0c4bde447f90a4807.tar.gz
libtracker-data: Preprocess \u and \U sequences in SPARQL queries
-rw-r--r--src/libtracker-data/tracker-sparql.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/libtracker-data/tracker-sparql.c b/src/libtracker-data/tracker-sparql.c
index 34c2188a7..da7dd8506 100644
--- a/src/libtracker-data/tracker-sparql.c
+++ b/src/libtracker-data/tracker-sparql.c
@@ -95,7 +95,7 @@ struct _TrackerSparql
{
GObject parent_instance;
TrackerDataManager *data_manager;
- const gchar *sparql;
+ gchar *sparql;
TrackerNodeTree *tree;
GError *parser_error;
@@ -166,6 +166,8 @@ tracker_sparql_finalize (GObject *object)
if (sparql->blank_nodes)
g_variant_builder_unref (sparql->blank_nodes);
+ g_free (sparql->sparql);
+
G_OBJECT_CLASS (tracker_sparql_parent_class)->finalize (object);
}
@@ -6210,7 +6212,7 @@ tracker_sparql_new (TrackerDataManager *manager,
sparql = g_object_new (TRACKER_TYPE_SPARQL, NULL);
sparql->data_manager = g_object_ref (manager);
- sparql->sparql = query;
+ sparql->sparql = tracker_unescape_unichars (query, -1);
tree = tracker_sparql_parse_query (sparql->sparql, -1, NULL,
&sparql->parser_error);
@@ -6353,7 +6355,7 @@ tracker_sparql_new_update (TrackerDataManager *manager,
sparql = g_object_new (TRACKER_TYPE_SPARQL, NULL);
sparql->data_manager = g_object_ref (manager);
- sparql->sparql = query;
+ sparql->sparql = tracker_unescape_unichars (query, -1);
tree = tracker_sparql_parse_update (sparql->sparql, -1, &len,
&sparql->parser_error);