security: fix memory leak in SecPublicInfoSqlite3

refs #2253

Change-Id: I8831bfa81498e9757e797218e83fd31010e2a186
diff --git a/src/security/sec-public-info-sqlite3.cpp b/src/security/sec-public-info-sqlite3.cpp
index c147bf1..946eb56 100644
--- a/src/security/sec-public-info-sqlite3.cpp
+++ b/src/security/sec-public-info-sqlite3.cpp
@@ -22,8 +22,6 @@
  * @author Jeff Thompson <jefft0@remap.ucla.edu>
  */
 
-#include "common.hpp"
-
 #include "sec-public-info-sqlite3.hpp"
 #include "identity-certificate.hpp"
 #include "signature-sha256-with-rsa.hpp"
@@ -104,6 +102,7 @@
 }
 
 SecPublicInfoSqlite3::SecPublicInfoSqlite3()
+  : m_database(nullptr)
 {
   boost::filesystem::path identityDir = boost::filesystem::path(getenv("HOME")) / ".ndn";
   boost::filesystem::create_directories(identityDir);
@@ -120,6 +119,8 @@
   if (res != SQLITE_OK)
     throw Error("identity DB cannot be opened/created");
 
+  BOOST_ASSERT(m_database != nullptr);
+
   //Check if Key table exists;
   sqlite3_stmt* statement;
   sqlite3_prepare_v2(m_database,
@@ -187,6 +188,8 @@
 
 SecPublicInfoSqlite3::~SecPublicInfoSqlite3()
 {
+  sqlite3_close(m_database);
+  m_database = nullptr;
 }
 
 bool