fix queryWalletDevice on corrupted wallets
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user