diff options
author | Howard Chu <hyc@symas.com> | 2018-10-02 16:14:20 +0100 |
---|---|---|
committer | Howard Chu <hyc@symas.com> | 2018-10-02 16:14:20 +0100 |
commit | 7c790f11f207ffad5e8ba857a1d1640cae815cee (patch) | |
tree | c07944011de2f0bf2daa04fa21968cd0a7584681 | |
parent | Merge pull request #4333 (diff) | |
download | monero-7c790f11f207ffad5e8ba857a1d1640cae815cee.tar.xz |
Fix rtxn usage in BlockchainLMDB::get_estimated_batch_size
Should only stop the rtxn if we actually started it
Fixes Coverity 184960
-rw-r--r-- | src/blockchain_db/lmdb/db_lmdb.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/blockchain_db/lmdb/db_lmdb.cpp b/src/blockchain_db/lmdb/db_lmdb.cpp index 824598f8c..bd91f308a 100644 --- a/src/blockchain_db/lmdb/db_lmdb.cpp +++ b/src/blockchain_db/lmdb/db_lmdb.cpp @@ -649,7 +649,7 @@ uint64_t BlockchainLMDB::get_estimated_batch_size(uint64_t batch_num_blocks, uin { MDB_txn *rtxn; mdb_txn_cursors *rcurs; - block_rtxn_start(&rtxn, &rcurs); + bool my_rtxn = block_rtxn_start(&rtxn, &rcurs); for (uint64_t block_num = block_start; block_num <= block_stop; ++block_num) { // we have access to block weight, which will be greater or equal to block size, @@ -661,7 +661,7 @@ uint64_t BlockchainLMDB::get_estimated_batch_size(uint64_t batch_num_blocks, uin // some blocks were to be skipped for being outliers. ++num_blocks_used; } - block_rtxn_stop(); + if (my_rtxn) block_rtxn_stop(); avg_block_size = total_block_size / num_blocks_used; MDEBUG("average block size across recent " << num_blocks_used << " blocks: " << avg_block_size); } |