diff options
author | Carlos Garnacho <carlosg@gnome.org> | 2020-03-04 20:27:30 +0100 |
---|---|---|
committer | Carlos Garnacho <carlosg@gnome.org> | 2020-03-04 23:35:26 +0100 |
commit | 57a863f7415124dd3c69f2f37f3fef63005fc463 (patch) | |
tree | 0d87975f7d648c7da0a01e22d12ccb91dcf0d2cc | |
parent | 99eb08c7d913cdd3a613394793541a28c115f41c (diff) | |
download | tracker-57a863f7415124dd3c69f2f37f3fef63005fc463.tar.gz |
libtracker-data: Ensure variable is freed on error conditions
It may be leaked on errors
CID: #1491436
-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; |