diff options
author | fanquake <fanquake@gmail.com> | 2022-08-17 14:35:53 +0100 |
---|---|---|
committer | fanquake <fanquake@gmail.com> | 2022-08-17 14:39:50 +0100 |
commit | 0ae0aa251b9c0401e4318756ca8b7a41193fac7e (patch) | |
tree | 0bda80e97c19d2d7753b81a1022598896adb479c /src/wallet/rpc | |
parent | 95d4744f024f40ebf61b38a51083629830b6141b (diff) | |
parent | f59959e3818692c5b3c2dfa51c14e515085e940f (diff) | |
download | bitcoin-0ae0aa251b9c0401e4318756ca8b7a41193fac7e.tar.xz |
Merge bitcoin/bitcoin#24678: Prevent wallet unload on GetWalletForJSONRPCRequest
f59959e3818692c5b3c2dfa51c14e515085e940f wallet: Prevent wallet unload on GetWalletForJSONRPCRequest (João Barbosa)
Pull request description:
Don't extend shared ownership of all wallets to `GetWalletForJSONRPCRequest` scope.
ACKs for top commit:
achow101:
ACK f59959e3818692c5b3c2dfa51c14e515085e940f
shaavan:
Code Review ACK f59959e3818692c5b3c2dfa51c14e515085e940f
theStack:
Concept and code-review ACK f59959e3818692c5b3c2dfa51c14e515085e940f
Tree-SHA512: 7c0294098b5c32acaab8cc6fcf17a581d580ad1a557ba0602a9506074ac035815739afb4a25b3e61be9132535c7fc3ec7ef5137c1dfc9d4078f13663d508ef55
Diffstat (limited to 'src/wallet/rpc')
-rw-r--r-- | src/wallet/rpc/util.cpp | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/src/wallet/rpc/util.cpp b/src/wallet/rpc/util.cpp index 16305d4465..3c1634324e 100644 --- a/src/wallet/rpc/util.cpp +++ b/src/wallet/rpc/util.cpp @@ -64,12 +64,11 @@ std::shared_ptr<CWallet> GetWalletForJSONRPCRequest(const JSONRPCRequest& reques return pwallet; } - std::vector<std::shared_ptr<CWallet>> wallets = GetWallets(context); - if (wallets.size() == 1) { - return wallets[0]; - } + size_t count{0}; + auto wallet = GetDefaultWallet(context, count); + if (wallet) return wallet; - if (wallets.empty()) { + if (count == 0) { throw JSONRPCError( RPC_WALLET_NOT_FOUND, "No wallet is loaded. Load a wallet using loadwallet or create a new one with createwallet. (Note: A default wallet is no longer automatically created)"); } |