diff options
| author | cyan <cyjan@mrcyjanek.net> | 2024-11-27 23:30:18 +0000 |
|---|---|---|
| committer | cyan <cyjan@mrcyjanek.net> | 2024-11-27 23:30:18 +0000 |
| commit | c41c4dad9aa5003a914cfb2c528c76386f952665 (patch) | |
| tree | 23a397b027a334c841b2e889f6dc9621e47ae49e /patches/monero/0020-catch-exception-in-queryWalletDevice.patch | |
| parent | d72c15f4339791a7bbdf17e9d827b7b56ca144e4 (diff) | |
fix queryWalletDevice on corrupted walletsv0.18.3.4-RC7
Diffstat (limited to 'patches/monero/0020-catch-exception-in-queryWalletDevice.patch')
| -rw-r--r-- | patches/monero/0020-catch-exception-in-queryWalletDevice.patch | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/patches/monero/0020-catch-exception-in-queryWalletDevice.patch b/patches/monero/0020-catch-exception-in-queryWalletDevice.patch new file mode 100644 index 0000000..1fb2471 --- /dev/null +++ b/patches/monero/0020-catch-exception-in-queryWalletDevice.patch @@ -0,0 +1,35 @@ +From d0774a747e7520f6dae3cf90ecbb682395da8c9c Mon Sep 17 00:00:00 2001 +From: cyan <cyjan@mrcyjanek.net> +Date: Wed, 27 Nov 2024 23:28:32 +0000 +Subject: [PATCH] catch exception in queryWalletDevice + +--- + src/wallet/api/wallet_manager.cpp | 12 ++++++++---- + 1 file changed, 8 insertions(+), 4 deletions(-) + +diff --git a/src/wallet/api/wallet_manager.cpp b/src/wallet/api/wallet_manager.cpp +index f88bd9e64..c200f52ae 100644 +--- a/src/wallet/api/wallet_manager.cpp ++++ b/src/wallet/api/wallet_manager.cpp +@@ -213,10 +213,14 @@ bool WalletManagerImpl::verifyWalletPassword(const std::string &keys_file_name, + + bool WalletManagerImpl::queryWalletDevice(Wallet::Device& device_type, const std::string &keys_file_name, const std::string &password, uint64_t kdf_rounds) const + { +- hw::device::device_type type; +- bool r = tools::wallet2::query_device(type, keys_file_name, password, kdf_rounds); +- device_type = static_cast<Wallet::Device>(type); +- return r; ++ try { ++ hw::device::device_type type; ++ bool r = tools::wallet2::query_device(type, keys_file_name, password, kdf_rounds); ++ device_type = static_cast<Wallet::Device>(type); ++ return r; ++ } catch (...) { ++ return false; ++ } + } + + std::vector<std::string> WalletManagerImpl::findWallets(const std::string &path) +-- +2.43.0 + |
