aboutsummaryrefslogtreecommitdiff
path: root/src/wallet
diff options
context:
space:
mode:
authorAndrew Chow <achow101-github@achow101.com>2021-07-01 01:22:38 -0400
committerAndrew Chow <achow101-github@achow101.com>2021-07-01 01:22:38 -0400
commitb945a31afac63010fce782b8fbca96dee6b458c5 (patch)
tree9c93f45a3beef73163a2a456e8fbe6a4945ede4c /src/wallet
parent5a95c5179c391e0adba0bb308d200bf5a2e24b16 (diff)
downloadbitcoin-b945a31afac63010fce782b8fbca96dee6b458c5.tar.xz
wallet: erase spkmans rather than setting to nullptr
In many places in ScriptPubKeyMan managing code, we assume that the ScriptPubKeyMan being retrieved actually exists and is not a nullptr. Thus removing a ScriptPubKeyMan requires erasing the object from the map rather than setting it to a nullptr.
Diffstat (limited to 'src/wallet')
-rw-r--r--src/wallet/wallet.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/wallet/wallet.cpp b/src/wallet/wallet.cpp
index 1f736f8baf..173609e995 100644
--- a/src/wallet/wallet.cpp
+++ b/src/wallet/wallet.cpp
@@ -3184,7 +3184,7 @@ void CWallet::LoadActiveScriptPubKeyMan(uint256 id, OutputType type, bool intern
spk_mans[type] = spk_man;
if (spk_mans_other[type] == spk_man) {
- spk_mans_other[type] = nullptr;
+ spk_mans_other.erase(type);
}
NotifyCanGetAddressesChanged();
@@ -3201,7 +3201,7 @@ void CWallet::DeactivateScriptPubKeyMan(uint256 id, OutputType type, bool intern
}
auto& spk_mans = internal ? m_internal_spk_managers : m_external_spk_managers;
- spk_mans[type] = nullptr;
+ spk_mans.erase(type);
}
NotifyCanGetAddressesChanged();