From 4ecd357a33ff1c0e7f3b0f402dca2f2ca73f4817 Mon Sep 17 00:00:00 2001 From: Peter Date: Mon, 17 Sep 2018 20:32:03 +0100 Subject: [PATCH] no message --- Postbox/SqliteInterface.swift | 15 ++++++++++++++- Postbox/SqliteValueBox.swift | 2 +- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/Postbox/SqliteInterface.swift b/Postbox/SqliteInterface.swift index 8aef02210b..87a3d59919 100644 --- a/Postbox/SqliteInterface.swift +++ b/Postbox/SqliteInterface.swift @@ -110,7 +110,20 @@ public final class SqliteInterface { public func unlock(password: Data) -> Bool { return password.withUnsafeBytes { (bytes: UnsafePointer) -> Bool in - return sqlite3_key(self.database.handle, bytes, Int32(password.count)) == SQLITE_OK + if sqlite3_key(self.database.handle, bytes, Int32(password.count)) != SQLITE_OK { + return false + } + var statement: OpaquePointer? = nil + let status = sqlite3_prepare_v2(self.database.handle, "SELECT * FROM SQLITE_MASTER", -1, &statement, nil) + if status != SQLITE_OK { + return false + } + let preparedStatement = SqlitePreparedStatement(statement: statement) + if !preparedStatement.step(handle: self.database.handle, true, path: "") { + return false + } + preparedStatement.destroy() + return true } } diff --git a/Postbox/SqliteValueBox.swift b/Postbox/SqliteValueBox.swift index 5898f50a24..454f60d9a4 100644 --- a/Postbox/SqliteValueBox.swift +++ b/Postbox/SqliteValueBox.swift @@ -15,7 +15,7 @@ private func checkTableKey(_ table: ValueBoxTable, _ key: ValueBoxKey) { } } -private struct SqlitePreparedStatement { +struct SqlitePreparedStatement { let statement: OpaquePointer? func bind(_ index: Int, data: UnsafeRawPointer, length: Int) {