diff options
author | Samuel Dobson <dobsonsa68@gmail.com> | 2020-05-05 15:43:06 +1200 |
---|---|---|
committer | Samuel Dobson <dobsonsa68@gmail.com> | 2020-05-05 15:56:04 +1200 |
commit | ec79b5f86b22ad8f77c736f9bb76c2e4d7faeaa4 (patch) | |
tree | 6ea25d3e1c7c5b80b8a90064d26af554b75ee10f /src | |
parent | e727c2bdcab3660297f452c76c6f877038015c02 (diff) | |
parent | 2a780980983f4b4aaae75817e57e7ed308713561 (diff) | |
download | bitcoin-ec79b5f86b22ad8f77c736f9bb76c2e4d7faeaa4.tar.xz |
Merge #18782: wallet: Make sure no DescriptorScriptPubKeyMan or WalletDescriptor members are left uninitialized after construction
2a780980983f4b4aaae75817e57e7ed308713561 wallet: Make sure no WalletDescriptor members are uninitialized after construction (practicalswift)
ff046aeeba8d4f3ff210d37ba020616c12450ab3 wallet: Make sure no DescriptorScriptPubKeyMan members are uninitialized after construction (practicalswift)
Pull request description:
This is a small folllow-up to #16528 ("Native Descriptor Wallets using DescriptorScriptPubKeyMan") which was merged in to `master` a couple of hours ago.
Make sure no `DescriptorScriptPubKeyMan` or `WalletDescriptor` members are left uninitialized after construction.
Before this change `bool m_internal` was left uninitialized when using the `DescriptorScriptPubKeyMan(WalletStorage&, WalletDescriptor&)` ctor.
The same goes for the now initialized integers which were left uninitialized when using the `WalletDescriptor()` ctor.
ACKs for top commit:
instagibbs:
utACK https://github.com/bitcoin/bitcoin/pull/18782/commits/2a780980983f4b4aaae75817e57e7ed308713561
fjahr:
Code review ACK 2a780980983f4b4aaae75817e57e7ed308713561
Sjors:
utACK 2a78098
achow101:
ACK 2a780980983f4b4aaae75817e57e7ed308713561
brakmic:
Code review ACK 2a780980983f4b4aaae75817e57e7ed308713561
meshcollider:
utACK 2a780980983f4b4aaae75817e57e7ed308713561
Tree-SHA512: c98e035268fdc7f65a423b73ac0cf010b0ef7c5e679b3cf170c1813efac8ab5c657dcbaf43c746770bea59e4772bfefe4caa834f1175260c39c7f35d92946ba5
Diffstat (limited to 'src')
-rw-r--r-- | src/wallet/scriptpubkeyman.h | 2 | ||||
-rw-r--r-- | src/wallet/walletutil.h | 8 |
2 files changed, 5 insertions, 5 deletions
diff --git a/src/wallet/scriptpubkeyman.h b/src/wallet/scriptpubkeyman.h index 5414fc5923..4c002edf2d 100644 --- a/src/wallet/scriptpubkeyman.h +++ b/src/wallet/scriptpubkeyman.h @@ -498,7 +498,7 @@ private: int32_t m_max_cached_index = -1; OutputType m_address_type; - bool m_internal; + bool m_internal = false; KeyMap m_map_keys GUARDED_BY(cs_desc_man); CryptedKeyMap m_map_crypted_keys GUARDED_BY(cs_desc_man); diff --git a/src/wallet/walletutil.h b/src/wallet/walletutil.h index d7e07ed04c..599b1a9f5a 100644 --- a/src/wallet/walletutil.h +++ b/src/wallet/walletutil.h @@ -92,10 +92,10 @@ class WalletDescriptor { public: std::shared_ptr<Descriptor> descriptor; - uint64_t creation_time; - int32_t range_start; // First item in range; start of range, inclusive, i.e. [range_start, range_end). This never changes. - int32_t range_end; // Item after the last; end of range, exclusive, i.e. [range_start, range_end). This will increment with each TopUp() - int32_t next_index; // Position of the next item to generate + uint64_t creation_time = 0; + int32_t range_start = 0; // First item in range; start of range, inclusive, i.e. [range_start, range_end). This never changes. + int32_t range_end = 0; // Item after the last; end of range, exclusive, i.e. [range_start, range_end). This will increment with each TopUp() + int32_t next_index = 0; // Position of the next item to generate DescriptorCache cache; ADD_SERIALIZE_METHODS; |