From 523049f815dde98c2a35985e30156cefe89d1ad0 Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Mon, 2 Mar 2020 22:56:47 +0100 Subject: libtracker-sparql: Fix c&p typos We are meant to use int64/boolean bind functions here, not double. --- src/libtracker-sparql/tracker-endpoint-dbus.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/libtracker-sparql/tracker-endpoint-dbus.c b/src/libtracker-sparql/tracker-endpoint-dbus.c index 1668aa97e..6e977e746 100644 --- a/src/libtracker-sparql/tracker-endpoint-dbus.c +++ b/src/libtracker-sparql/tracker-endpoint-dbus.c @@ -442,11 +442,11 @@ create_statement (TrackerSparqlConnection *conn, tracker_sparql_statement_bind_double (stmt, arg, g_variant_get_double (value)); } else if (g_variant_is_of_type (value, G_VARIANT_TYPE_INT64)) { - tracker_sparql_statement_bind_double (stmt, arg, - g_variant_get_int64 (value)); + tracker_sparql_statement_bind_int (stmt, arg, + g_variant_get_int64 (value)); } else if (g_variant_is_of_type (value, G_VARIANT_TYPE_BOOLEAN)) { - tracker_sparql_statement_bind_double (stmt, arg, - g_variant_get_boolean (value)); + tracker_sparql_statement_bind_boolean (stmt, arg, + g_variant_get_boolean (value)); } else { g_warning ("Unhandled type '%s' for argument %s", g_variant_get_type_string (value), -- cgit v1.2.1 From c64e343511a4a68892e9b6f683cc5faae17f1b1b Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Sat, 29 Feb 2020 20:00:09 +0100 Subject: libtracker-fts: Perform error checks throughout all FTS5 offsets API We are trusting some of those functions to be correct, error out instead if that doesn't happen to be the case. --- src/libtracker-fts/tracker-fts-tokenizer.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/libtracker-fts/tracker-fts-tokenizer.c b/src/libtracker-fts/tracker-fts-tokenizer.c index a6244af9d..40cfabf74 100644 --- a/src/libtracker-fts/tracker-fts-tokenizer.c +++ b/src/libtracker-fts/tracker-fts-tokenizer.c @@ -220,6 +220,8 @@ tracker_offsets_function (const Fts5ExtensionApi *api, int phrase, col, n_token; rc = api->xInst (fts_ctx, i, &phrase, &col, &n_token); + if (rc != SQLITE_OK) + break; if (first || cur_col != col) { const char *text; @@ -229,9 +231,15 @@ tracker_offsets_function (const Fts5ExtensionApi *api, g_array_free (offsets, TRUE); offsets = g_array_new (FALSE, FALSE, sizeof (gint)); - api->xColumnText (fts_ctx, col, &text, &length); - api->xTokenize (fts_ctx, text, length, - offsets, &offsets_tokenizer_func); + rc = api->xColumnText (fts_ctx, col, &text, &length); + if (rc != SQLITE_OK) + break; + + rc = api->xTokenize (fts_ctx, text, length, + offsets, &offsets_tokenizer_func); + if (rc != SQLITE_OK) + break; + cur_col = col; } -- cgit v1.2.1