summaryrefslogtreecommitdiff
path: root/patches/monero
diff options
context:
space:
mode:
authorcyan <cyjan@mrcyjanek.net>2024-11-27 23:30:18 +0000
committercyan <cyjan@mrcyjanek.net>2024-11-27 23:30:18 +0000
commitc41c4dad9aa5003a914cfb2c528c76386f952665 (patch)
tree23a397b027a334c841b2e889f6dc9621e47ae49e /patches/monero
parentd72c15f4339791a7bbdf17e9d827b7b56ca144e4 (diff)
fix queryWalletDevice on corrupted walletsv0.18.3.4-RC7
Diffstat (limited to 'patches/monero')
-rw-r--r--patches/monero/0020-catch-exception-in-queryWalletDevice.patch35
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
+