Use unique_ptr for pdbCopy (Db) and fix potential memory leak
This commit is contained in:
parent
29ab96dbd2
commit
b45c597caa
1 changed files with 1 additions and 2 deletions
|
@ -522,7 +522,7 @@ bool CDB::Rewrite(CWalletDBWrapper& dbw, const char* pszSkip)
|
|||
std::string strFileRes = strFile + ".rewrite";
|
||||
{ // surround usage of db with extra {}
|
||||
CDB db(dbw, "r");
|
||||
Db* pdbCopy = new Db(env->dbenv.get(), 0);
|
||||
std::unique_ptr<Db> pdbCopy = std::unique_ptr<Db>(new Db(env->dbenv.get(), 0));
|
||||
|
||||
int ret = pdbCopy->open(nullptr, // Txn pointer
|
||||
strFileRes.c_str(), // Filename
|
||||
|
@ -571,7 +571,6 @@ bool CDB::Rewrite(CWalletDBWrapper& dbw, const char* pszSkip)
|
|||
} else {
|
||||
pdbCopy->close(0);
|
||||
}
|
||||
delete pdbCopy;
|
||||
}
|
||||
if (fSuccess) {
|
||||
Db dbA(env->dbenv.get(), 0);
|
||||
|
|
Loading…
Add table
Reference in a new issue