diff options
-rw-r--r-- | src/wallet/db.cpp | 6 | ||||
-rw-r--r-- | src/wallet/db.h | 16 |
2 files changed, 12 insertions, 10 deletions
diff --git a/src/wallet/db.cpp b/src/wallet/db.cpp index 9bac3c49cc..b3ae3b92ab 100644 --- a/src/wallet/db.cpp +++ b/src/wallet/db.cpp @@ -247,12 +247,12 @@ BerkeleyEnvironment::VerifyResult BerkeleyEnvironment::Verify(const std::string& return (fRecovered ? VerifyResult::RECOVER_OK : VerifyResult::RECOVER_FAIL); } -BerkeleyBatch::SafeDbt::SafeDbt(u_int32_t flags) +BerkeleyBatch::SafeDbt::SafeDbt() { - m_dbt.set_flags(flags); + m_dbt.set_flags(DB_DBT_MALLOC); } -BerkeleyBatch::SafeDbt::SafeDbt(void *data, size_t size) +BerkeleyBatch::SafeDbt::SafeDbt(void* data, size_t size) : m_dbt(data, size) { } diff --git a/src/wallet/db.h b/src/wallet/db.h index 73cbff98fb..25e1cdafa5 100644 --- a/src/wallet/db.h +++ b/src/wallet/db.h @@ -170,13 +170,15 @@ private: class BerkeleyBatch { /** RAII class that automatically cleanses its data on destruction */ - class SafeDbt final { + class SafeDbt final + { Dbt m_dbt; public: - // construct Dbt with data or flags - SafeDbt(u_int32_t flags = 0); - SafeDbt(void *data, size_t size); + // construct Dbt with internally-managed data + SafeDbt(); + // construct Dbt with provided data + SafeDbt(void* data, size_t size); ~SafeDbt(); // delegate to Dbt @@ -227,7 +229,7 @@ public: SafeDbt datKey(ssKey.data(), ssKey.size()); // Read - SafeDbt datValue(DB_DBT_MALLOC); + SafeDbt datValue; int ret = pdb->get(activeTxn, datKey, datValue, 0); bool success = false; if (datValue.get_data() != nullptr) { @@ -318,8 +320,8 @@ public: int ReadAtCursor(Dbc* pcursor, CDataStream& ssKey, CDataStream& ssValue) { // Read at cursor - SafeDbt datKey(DB_DBT_MALLOC); - SafeDbt datValue(DB_DBT_MALLOC); + SafeDbt datKey; + SafeDbt datValue; int ret = pcursor->get(datKey, datValue, DB_NEXT); if (ret != 0) return ret; |