db_lmdb: do not keep a dangling pointer to stack objects

This commit is contained in:
moneromooo-monero 2014-12-07 11:36:44 +00:00 committed by warptangent
parent 29b5876ad1
commit 1d23db220a
1 changed files with 4 additions and 0 deletions

View File

@ -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<transaction>& txs)
try
{
BlockchainDB::pop_block(blk, txs);
m_write_txn = NULL;
txn.commit();
}
catch (...)
{
m_num_outputs = num_outputs;
m_write_txn = NULL;
throw;
}