diff options
Diffstat (limited to 'src/libtracker-data/tracker-vtab-triples.c')
-rw-r--r-- | src/libtracker-data/tracker-vtab-triples.c | 8 |
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; |