Make SafeDbt DB_DBT_MALLOC on default initialization
If we're constructing the SafeDbt without provided data, it is always malloced, so that is the case we expose. Also run clang-format.
This commit is contained in:
parent
1a9f9f7e5e
commit
4a86a0acd9
2 changed files with 12 additions and 10 deletions
|
@ -247,9 +247,9 @@ 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)
|
||||
|
|
|
@ -170,12 +170,14 @@ 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);
|
||||
// construct Dbt with internally-managed data
|
||||
SafeDbt();
|
||||
// construct Dbt with provided data
|
||||
SafeDbt(void* data, size_t size);
|
||||
~SafeDbt();
|
||||
|
||||
|
@ -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;
|
||||
|
|
Loading…
Reference in a new issue