Browse Source

Merge #10920: [qt] Fix potential memory leak in newPossibleKey(ChangeCWallet *wallet)

446e261 [qt] Fix potential memory leak in newPossibleKey(ChangeCWallet *wallet) (practicalswift)

Pull request description:

  Fix potential memory leak in `newPossibleKey(ChangeCWallet *wallet)`.

Tree-SHA512: 252d3828133a0d241cc649aed1280e14a5d5ea47b7b2989039cfa5061a8e35183c7f36d7320aa0ac1b4dcab31e584b358dbbb2fe645a412371d0a460878e2b58
0.16
Wladimir J. van der Laan 7 years ago
parent
commit
f6f8d54aff
No known key found for this signature in database
GPG Key ID: 1E4AED62986CD25D
  1. 6
      src/qt/walletmodeltransaction.cpp
  2. 2
      src/qt/walletmodeltransaction.h

6
src/qt/walletmodeltransaction.cpp

@ -10,7 +10,6 @@ @@ -10,7 +10,6 @@
WalletModelTransaction::WalletModelTransaction(const QList<SendCoinsRecipient> &_recipients) :
recipients(_recipients),
walletTransaction(0),
keyChange(0),
fee(0)
{
walletTransaction = new CWalletTx();
@ -18,7 +17,6 @@ WalletModelTransaction::WalletModelTransaction(const QList<SendCoinsRecipient> & @@ -18,7 +17,6 @@ WalletModelTransaction::WalletModelTransaction(const QList<SendCoinsRecipient> &
WalletModelTransaction::~WalletModelTransaction()
{
delete keyChange;
delete walletTransaction;
}
@ -91,10 +89,10 @@ CAmount WalletModelTransaction::getTotalTransactionAmount() const @@ -91,10 +89,10 @@ CAmount WalletModelTransaction::getTotalTransactionAmount() const
void WalletModelTransaction::newPossibleKeyChange(CWallet *wallet)
{
keyChange = new CReserveKey(wallet);
keyChange.reset(new CReserveKey(wallet));
}
CReserveKey *WalletModelTransaction::getPossibleKeyChange()
{
return keyChange;
return keyChange.get();
}

2
src/qt/walletmodeltransaction.h

@ -40,7 +40,7 @@ public: @@ -40,7 +40,7 @@ public:
private:
QList<SendCoinsRecipient> recipients;
CWalletTx *walletTransaction;
CReserveKey *keyChange;
std::unique_ptr<CReserveKey> keyChange;
CAmount fee;
};

Loading…
Cancel
Save