aboutsummaryrefslogtreecommitdiff
path: root/src/policy/packages.h
diff options
context:
space:
mode:
authorHennadii Stepanov <32963518+hebasto@users.noreply.github.com>2024-09-13 11:28:16 +0100
committerHennadii Stepanov <32963518+hebasto@users.noreply.github.com>2024-09-13 11:28:23 +0100
commite43ce250c6fb65cc0c8903296c8ab228539d2204 (patch)
tree58fd22ce27de075484d09173dafd4e5d81237711 /src/policy/packages.h
parentcf0120ff024aa73a56f2975c832fda6aa8146dfa (diff)
parenta965f2bc07a3588f8c2b8d6a542961562e3f5d0e (diff)
downloadbitcoin-master.tar.xz
Merge bitcoin-core/gui#835: Fix crash when closing walletHEADmaster
a965f2bc07a3588f8c2b8d6a542961562e3f5d0e gui: fix crash when closing wallet (furszy) Pull request description: The crash occurs because `WalletController::removeAndDeleteWallet` is called twice for the same wallet model: first in the GUI's button connected function `WalletController::closeWallet`, and then again when the backend emits the `WalletModel::unload` signal. This causes the issue because `removeAndDeleteWallet` inlines an `erase(std::remove())`. So, if `std::remove` returns an iterator to the end (indicating the element wasn't found because it was already erased), the subsequent call to `erase` leads to an undefined behavior. Test Notes: Try closing any wallet using the toolbar button in the GUI. It will crash in master, but not here. Fixes https://github.com/bitcoin/bitcoin/issues/30887. ACKs for top commit: pablomartin4btc: tACK a965f2bc07a3588f8c2b8d6a542961562e3f5d0e jarolrod: ACK a965f2bc07a3588f8c2b8d6a542961562e3f5d0e hebasto: ACK a965f2bc07a3588f8c2b8d6a542961562e3f5d0e. Tree-SHA512: c94681b95cb566f7aabd0d4fb10f797c2cea6ac569abc265e918f08e6abae3335432a0b0879372b54b2c109798ed0a4a249bf162c34add59cbd18d38a2d9660e
Diffstat (limited to 'src/policy/packages.h')
0 files changed, 0 insertions, 0 deletions