aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorRiccardo Spagni <ric@spagni.net>2018-12-04 17:07:51 +0200
committerRiccardo Spagni <ric@spagni.net>2018-12-04 17:07:51 +0200
commit398f7076bb67d749d76a1b275e5bd771e9714b4b (patch)
tree792b06ae57ec00c1b5d704655a7d81cf7fbe7064 /src
parentMerge pull request #4850 (diff)
parentvarious: do not propagate exception through dtor (diff)
downloadmonero-398f7076bb67d749d76a1b275e5bd771e9714b4b.tar.xz
Merge pull request #4853
2b3595d0 various: do not propagate exception through dtor (moneromooo-monero)
Diffstat (limited to 'src')
-rw-r--r--src/common/http_connection.h3
-rw-r--r--src/wallet/wallet2.cpp7
2 files changed, 8 insertions, 2 deletions
diff --git a/src/common/http_connection.h b/src/common/http_connection.h
index 9fc6be261..554dd832b 100644
--- a/src/common/http_connection.h
+++ b/src/common/http_connection.h
@@ -55,7 +55,8 @@ public:
{
if (m_ok)
{
- mp_http_client->disconnect();
+ try { mp_http_client->disconnect(); }
+ catch (...) { /* do not propagate through dtor */ }
}
}
diff --git a/src/wallet/wallet2.cpp b/src/wallet/wallet2.cpp
index f21b074b6..498addad5 100644
--- a/src/wallet/wallet2.cpp
+++ b/src/wallet/wallet2.cpp
@@ -830,7 +830,12 @@ wallet_keys_unlocker::~wallet_keys_unlocker()
{
if (!locked)
return;
- w.encrypt_keys(key);
+ try { w.encrypt_keys(key); }
+ catch (...)
+ {
+ MERROR("Failed to re-encrypt wallet keys");
+ // do not propagate through dtor, we'd crash
+ }
}
wallet2::wallet2(network_type nettype, uint64_t kdf_rounds, bool unattended):