blockchain_blackball: catch failure to commit db transaction

Coverity 188349
This commit is contained in:
moneromooo-monero 2018-09-27 15:01:56 +00:00
parent 661439f4e0
commit e67016ddb4
No known key found for this signature in database
GPG Key ID: 686F07454D6CEFC3

View File

@ -401,7 +401,8 @@ static bool for_all_transactions(const std::string &filename, uint64_t &start_id
} }
mdb_cursor_close(cur); mdb_cursor_close(cur);
mdb_txn_commit(txn); dbr = mdb_txn_commit(txn);
if (dbr) throw std::runtime_error("Failed to commit db transaction: " + std::string(mdb_strerror(dbr)));
tx_active = false; tx_active = false;
mdb_dbi_close(env, dbi); mdb_dbi_close(env, dbi);
mdb_env_close(env); mdb_env_close(env);
@ -471,7 +472,8 @@ static uint64_t find_first_diverging_transaction(const std::string &first_filena
for (int i = 0; i < 2; ++i) for (int i = 0; i < 2; ++i)
{ {
mdb_cursor_close(cur[i]); mdb_cursor_close(cur[i]);
mdb_txn_commit(txn[i]); dbr = mdb_txn_commit(txn[i]);
if (dbr) throw std::runtime_error("Failed to query transaction: " + std::string(mdb_strerror(dbr)));
tx_active[i] = false; tx_active[i] = false;
mdb_dbi_close(env[i], dbi[i]); mdb_dbi_close(env[i], dbi[i]);
mdb_env_close(env[i]); mdb_env_close(env[i]);