summaryrefslogtreecommitdiff
path: root/src/libtracker-data/tracker-vtab-triples.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/libtracker-data/tracker-vtab-triples.c')
-rw-r--r--src/libtracker-data/tracker-vtab-triples.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/libtracker-data/tracker-vtab-triples.c b/src/libtracker-data/tracker-vtab-triples.c
index a9e868b1d..101af4d8e 100644
--- a/src/libtracker-data/tracker-vtab-triples.c
+++ b/src/libtracker-data/tracker-vtab-triples.c
@@ -190,15 +190,19 @@ triples_best_index (sqlite3_vtab *vtab,
info->aConstraint[i].iColumn == COL_OBJECT_TYPE)
continue;
- if (info->aConstraint[i].iColumn == COL_ROWID)
+ if (info->aConstraint[i].iColumn == COL_ROWID) {
+ g_free (idx_str);
return SQLITE_ERROR;
+ }
/* We can only check for (in)equality */
if (info->aConstraint[i].op != SQLITE_INDEX_CONSTRAINT_EQ &&
info->aConstraint[i].op != SQLITE_INDEX_CONSTRAINT_NE &&
info->aConstraint[i].op != SQLITE_INDEX_CONSTRAINT_ISNULL &&
- info->aConstraint[i].op != SQLITE_INDEX_CONSTRAINT_ISNOTNULL)
+ info->aConstraint[i].op != SQLITE_INDEX_CONSTRAINT_ISNOTNULL) {
+ g_free (idx_str);
return SQLITE_ERROR;
+ }
/* idxNum encodes the used columns and their operators */
idx |= masks[info->aConstraint[i].iColumn - 1].mask;