Browse Source

[master] cleanup version-check sqt statements

This should fix the valgrind error report, verified on jabber
Jelte Jansen 12 years ago
parent
commit
c3689c6a25
1 changed files with 3 additions and 0 deletions
  1. 3 0
      src/lib/datasrc/sqlite3_accessor.cc

+ 3 - 0
src/lib/datasrc/sqlite3_accessor.cc

@@ -394,16 +394,19 @@ int checkSchemaVersionElement(sqlite3* db, const char* const query) {
         if (rc == SQLITE_ERROR) {
             // this is the error that is returned when the table does not
             // exist
+            sqlite3_finalize(prepared);
             return (-1);
         } else if (rc == SQLITE_OK) {
             break;
         } else if (rc != SQLITE_BUSY || i == 50) {
+            sqlite3_finalize(prepared);
             isc_throw(SQLite3Error, "Unable to prepare version query: "
                         << rc << " " << sqlite3_errmsg(db));
         }
         doSleep();
     }
     if (sqlite3_step(prepared) != SQLITE_ROW) {
+        sqlite3_finalize(prepared);
         isc_throw(SQLite3Error,
                     "Unable to query version: " << sqlite3_errmsg(db));
     }