Skip to content

Commit 446e261

Browse files
[qt] Fix potential memory leak in newPossibleKey(ChangeCWallet *wallet)
1 parent 6ef3c7e commit 446e261

File tree

2 files changed

+3
-5
lines changed

2 files changed

+3
-5
lines changed

src/qt/walletmodeltransaction.cpp

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,15 +10,13 @@
1010
WalletModelTransaction::WalletModelTransaction(const QList<SendCoinsRecipient> &_recipients) :
1111
recipients(_recipients),
1212
walletTransaction(0),
13-
keyChange(0),
1413
fee(0)
1514
{
1615
walletTransaction = new CWalletTx();
1716
}
1817

1918
WalletModelTransaction::~WalletModelTransaction()
2019
{
21-
delete keyChange;
2220
delete walletTransaction;
2321
}
2422

@@ -91,10 +89,10 @@ CAmount WalletModelTransaction::getTotalTransactionAmount()
9189

9290
void WalletModelTransaction::newPossibleKeyChange(CWallet *wallet)
9391
{
94-
keyChange = new CReserveKey(wallet);
92+
keyChange.reset(new CReserveKey(wallet));
9593
}
9694

9795
CReserveKey *WalletModelTransaction::getPossibleKeyChange()
9896
{
99-
return keyChange;
97+
return keyChange.get();
10098
}

src/qt/walletmodeltransaction.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ class WalletModelTransaction
4040
private:
4141
QList<SendCoinsRecipient> recipients;
4242
CWalletTx *walletTransaction;
43-
CReserveKey *keyChange;
43+
std::unique_ptr<CReserveKey> keyChange;
4444
CAmount fee;
4545
};
4646

0 commit comments

Comments
 (0)