[tracker] libtracker-fts: Ensure a sqlite3_stmt is finalized on FTS5 failure paths
- From: Carlos Garnacho <carlosg src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [tracker] libtracker-fts: Ensure a sqlite3_stmt is finalized on FTS5 failure paths
- Date: Sun, 20 Nov 2016 16:08:22 +0000 (UTC)
commit 53bbc6f988ead8e0eee1bcd59d6311f67dc2dd61
Author: Carlos Garnacho <carlosg gnome org>
Date: Sun Nov 6 16:57:43 2016 +0100
libtracker-fts: Ensure a sqlite3_stmt is finalized on FTS5 failure paths
It is an error condition if no FTS5 API is found, it's no excuse to leave
the sqlite3_stmt unfinalized though.
src/libtracker-fts/tracker-fts-tokenizer.c | 11 ++++-------
1 files changed, 4 insertions(+), 7 deletions(-)
---
diff --git a/src/libtracker-fts/tracker-fts-tokenizer.c b/src/libtracker-fts/tracker-fts-tokenizer.c
index e055029..f6c05ed 100644
--- a/src/libtracker-fts/tracker-fts-tokenizer.c
+++ b/src/libtracker-fts/tracker-fts-tokenizer.c
@@ -371,20 +371,17 @@ static fts5_api *
get_fts5_api (sqlite3 *db) {
int rc = SQLITE_OK;
sqlite3_stmt *stmt;
- fts5_api *api;
+ fts5_api *api = NULL;
rc = sqlite3_prepare_v2(db, "SELECT fts5()",
-1, &stmt, 0);
- if (rc != SQLITE_OK) {
+ if (rc != SQLITE_OK)
return NULL;
- }
- if (sqlite3_step (stmt) != SQLITE_ROW) {
- return NULL;
- }
+ if (sqlite3_step (stmt) == SQLITE_ROW)
+ memcpy (&api, sqlite3_column_blob (stmt, 0), sizeof (api));
- memcpy (&api, sqlite3_column_blob (stmt, 0), sizeof (api));
sqlite3_finalize (stmt);
return api;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]