From 1d23db220ad584b3af1cc243cd3a1193bb1deeed Mon Sep 17 00:00:00 2001 From: moneromooo-monero Date: Sun, 7 Dec 2014 11:36:44 +0000 Subject: [PATCH] db_lmdb: do not keep a dangling pointer to stack objects --- src/cryptonote_core/BlockchainDB_impl/db_lmdb.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/cryptonote_core/BlockchainDB_impl/db_lmdb.cpp b/src/cryptonote_core/BlockchainDB_impl/db_lmdb.cpp index 632c2cc6..278bec14 100644 --- a/src/cryptonote_core/BlockchainDB_impl/db_lmdb.cpp +++ b/src/cryptonote_core/BlockchainDB_impl/db_lmdb.cpp @@ -1804,12 +1804,14 @@ uint64_t BlockchainLMDB::add_block( const block& blk try { BlockchainDB::add_block(blk, block_size, cumulative_difficulty, coins_generated, txs); + m_write_txn = NULL; txn.commit(); } catch (...) { m_num_outputs = num_outputs; + m_write_txn = NULL; throw; } @@ -1830,12 +1832,14 @@ void BlockchainLMDB::pop_block(block& blk, std::vector& txs) try { BlockchainDB::pop_block(blk, txs); + m_write_txn = NULL; txn.commit(); } catch (...) { m_num_outputs = num_outputs; + m_write_txn = NULL; throw; }