aboutsummaryrefslogtreecommitdiff
path: root/src/blockchain_db/lmdb
diff options
context:
space:
mode:
authormj-xmr <mjxmr@protonmail.com>2021-08-13 16:34:00 +0200
committermj-xmr <mjxmr@protonmail.com>2021-09-08 14:08:40 +0200
commit514f8fab14fb251e42e8e8a2d27ad030471d410a (patch)
tree9b7613e23784d658969f2d916a0a4f2c1a99ff00 /src/blockchain_db/lmdb
parentMerge pull request #7893 (diff)
downloadmonero-514f8fab14fb251e42e8e8a2d27ad030471d410a.tar.xz
LMDB: protection against UB, by not calling virtual methods from destructor
Diffstat (limited to 'src/blockchain_db/lmdb')
-rw-r--r--src/blockchain_db/lmdb/db_lmdb.cpp10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/blockchain_db/lmdb/db_lmdb.cpp b/src/blockchain_db/lmdb/db_lmdb.cpp
index 1d7b10648..fd5cc2986 100644
--- a/src/blockchain_db/lmdb/db_lmdb.cpp
+++ b/src/blockchain_db/lmdb/db_lmdb.cpp
@@ -1267,11 +1267,11 @@ BlockchainLMDB::~BlockchainLMDB()
// batch transaction shouldn't be active at this point. If it is, consider it aborted.
if (m_batch_active)
{
- try { batch_abort(); }
+ try { BlockchainLMDB::batch_abort(); }
catch (...) { /* ignore */ }
}
if (m_open)
- close();
+ BlockchainLMDB::close();
}
BlockchainLMDB::BlockchainLMDB(bool batch_transactions): BlockchainDB()
@@ -1569,9 +1569,9 @@ void BlockchainLMDB::close()
if (m_batch_active)
{
LOG_PRINT_L3("close() first calling batch_abort() due to active batch transaction");
- batch_abort();
+ BlockchainLMDB::batch_abort();
}
- this->sync();
+ BlockchainLMDB::sync();
m_tinfo.reset();
// FIXME: not yet thread safe!!! Use with care.
@@ -1584,7 +1584,7 @@ void BlockchainLMDB::sync()
LOG_PRINT_L3("BlockchainLMDB::" << __func__);
check_open();
- if (is_read_only())
+ if (BlockchainLMDB::is_read_only())
return;
// Does nothing unless LMDB environment was opened with MDB_NOSYNC or in part