summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDebarshi Ray <debarshir@gnome.org>2014-10-13 13:49:29 +0200
committerDebarshi Ray <debarshir@gnome.org>2014-10-13 14:17:28 +0200
commit82f4821ed0b022ed91aa0867b0f5b77048e2c3be (patch)
tree164f2a1bc1e2104d86f502ea7d3bae566dc81d77
parent0018667159e02a4b9e51ad2c9bbd76d666fbfe56 (diff)
downloadtracker-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.vala4
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