diff options
author | Debarshi Ray <debarshir@gnome.org> | 2014-10-13 13:49:29 +0200 |
---|---|---|
committer | Debarshi Ray <debarshir@gnome.org> | 2014-10-13 14:17:28 +0200 |
commit | 82f4821ed0b022ed91aa0867b0f5b77048e2c3be (patch) | |
tree | 164f2a1bc1e2104d86f502ea7d3bae566dc81d77 | |
parent | 0018667159e02a4b9e51ad2c9bbd76d666fbfe56 (diff) | |
download | tracker-82f4821ed0b022ed91aa0867b0f5b77048e2c3be.tar.gz |
libtracker-data: Guard against failure to open the database
An error from sqlite3_open_v2 will lead to a failure to create a
TrackerDBInterface. This means that DBManager.get_db_interface will
fail.
https://bugzilla.gnome.org/show_bug.cgi?id=738450
-rw-r--r-- | src/libtracker-data/tracker-sparql-query.vala | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/libtracker-data/tracker-sparql-query.vala b/src/libtracker-data/tracker-sparql-query.vala index b84103d74..2430263fa 100644 --- a/src/libtracker-data/tracker-sparql-query.vala +++ b/src/libtracker-data/tracker-sparql-query.vala @@ -500,6 +500,10 @@ public class Tracker.Sparql.Query : Object { DBStatement prepare_for_exec (string sql) throws DBInterfaceError, Sparql.Error, DateError { var iface = DBManager.get_db_interface (); + if (iface == null) { + throw new DBInterfaceError.OPEN_ERROR ("Error opening database"); + } + var stmt = iface.create_statement (no_cache ? DBStatementCacheType.NONE : DBStatementCacheType.SELECT, "%s", sql); // set literals specified in query |