diff options
author | MacroFake <falke.marco@gmail.com> | 2022-09-25 22:04:42 +0000 |
---|---|---|
committer | MacroFake <falke.marco@gmail.com> | 2022-09-25 22:04:46 +0000 |
commit | ca8d2c4b435dbc039c237c3f946f40173ad75583 (patch) | |
tree | 0d8c6d604789724291719a1d08c7c5732d34c23d | |
parent | 2a56cc1f584cc550a93c165f0dcf93ac85075e19 (diff) | |
parent | a60d9eb9e6b6a272a3fca8981d89a55955dced55 (diff) | |
download | bitcoin-ca8d2c4b435dbc039c237c3f946f40173ad75583.tar.xz |
Merge bitcoin/bitcoin#26178: [24.x] Bugfix: Wallet: Lock cs_wallet for SignMessage
a60d9eb9e6b6a272a3fca8981d89a55955dced55 Bugfix: Wallet: Lock cs_wallet for SignMessage (Luke Dashjr)
Pull request description:
(Clean merge of #26130 to 24.x branch)
Top commit has no ACKs.
Tree-SHA512: 821e19d222cc1eb9a6b957ec87d48cfb00b2c5b8182682ac57d9c76785b667ad9c71444e6bf0f53177c06d5fb39e72dbfc82d7debe4b1597699eefaf3001d08d
-rw-r--r-- | src/wallet/wallet.cpp | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/wallet/wallet.cpp b/src/wallet/wallet.cpp index 009c539a65..5889de2e36 100644 --- a/src/wallet/wallet.cpp +++ b/src/wallet/wallet.cpp @@ -2110,6 +2110,7 @@ SigningResult CWallet::SignMessage(const std::string& message, const PKHash& pkh CScript script_pub_key = GetScriptForDestination(pkhash); for (const auto& spk_man_pair : m_spk_managers) { if (spk_man_pair.second->CanProvide(script_pub_key, sigdata)) { + LOCK(cs_wallet); // DescriptorScriptPubKeyMan calls IsLocked which can lock cs_wallet in a deadlocking order return spk_man_pair.second->SignMessage(message, pkhash, str_sig); } } |