Well I activated the code that uses the SQLite prepare_v2 API function. All works fine except that this introduced to new memory leaks. To avoid a discussion here is the destructor: ~DBase() { sqlite3_free(prepared_SQL_stmt); sqlite3_free(ErrMessage); sqlite3_close(DB); } This may provoke the ire of the SQLite team: Executing sqlite3_free() calls without a sqlite3_malloc() is weird. But I will do (almost) everything to deal with the memory leaks. All the leaks are related to the libsqlite3.so.0.8.6 (SQLite v3.30) and the address 0x483C7F3 (this is a dynamic address of this shared library) that executes a malloc().