Skip to content
Permalink
Browse files

Fix statement not set NULL on deletion

Make local only variables static
  • Loading branch information...
sapier sapier
sapier authored and sapier committed Jun 25, 2014
1 parent 09ba047 commit 24face5249abfddd3de1e255ec4072677b39969d
Showing with 14 additions and 11 deletions.
  1. +14 −11 src/rollback.cpp
@@ -36,17 +36,17 @@ with this program; if not, write to the Free Software Foundation, Inc.,

#define POINTS_PER_NODE (16.0)

std::string dbp;
sqlite3* dbh;
sqlite3_stmt* dbs_insert;
sqlite3_stmt* dbs_replace;
sqlite3_stmt* dbs_select;
sqlite3_stmt* dbs_select_range;
sqlite3_stmt* dbs_select_withActor;
sqlite3_stmt* dbs_knownActor_select;
sqlite3_stmt* dbs_knownActor_insert;
sqlite3_stmt* dbs_knownNode_select;
sqlite3_stmt* dbs_knownNode_insert;
static std::string dbp;
static sqlite3* dbh = NULL;
static sqlite3_stmt* dbs_insert = NULL;
static sqlite3_stmt* dbs_replace = NULL;
static sqlite3_stmt* dbs_select = NULL;
static sqlite3_stmt* dbs_select_range = NULL;
static sqlite3_stmt* dbs_select_withActor = NULL;
static sqlite3_stmt* dbs_knownActor_select = NULL;
static sqlite3_stmt* dbs_knownActor_insert = NULL;
static sqlite3_stmt* dbs_knownNode_select = NULL;
static sqlite3_stmt* dbs_knownNode_insert = NULL;

struct Stack {
int node;
@@ -1094,6 +1094,7 @@ class RollbackManager: public IRollbackManager
#define FINALIZE_STATEMENT(statement) \
if ( statement ) \
rc = sqlite3_finalize(statement); \
statement = NULL; \
if ( rc != SQLITE_OK ) \
errorstream << "RollbackManager::~RollbackManager():" \
<< "Failed to finalize: " << #statement << ": rc=" << rc << std::endl;
@@ -1117,6 +1118,8 @@ class RollbackManager: public IRollbackManager
if(dbh)
rc = sqlite3_close(dbh);

dbh = NULL;

if (rc != SQLITE_OK) {
errorstream << "RollbackManager::~RollbackManager(): "
<< "Failed to close database: rc=" << rc << std::endl;

0 comments on commit 24face5

Please sign in to comment.
You can’t perform that action at this time.