aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormoneromooo-monero <moneromooo-monero@users.noreply.github.com>2019-03-11 16:11:48 +0000
committermoneromooo-monero <moneromooo-monero@users.noreply.github.com>2019-03-11 16:11:48 +0000
commit576116d415b7ea9b498168db6221ab5df6101c31 (patch)
tree58710875ba0ce2e92e3692d7a12e26e0d72e3f01
parentMerge pull request #5258 (diff)
downloadmonero-576116d415b7ea9b498168db6221ab5df6101c31.tar.xz
wallet: fix load failure if the mms isn't usable
-rw-r--r--src/simplewallet/simplewallet.cpp10
-rw-r--r--src/wallet/wallet2.cpp9
2 files changed, 18 insertions, 1 deletions
diff --git a/src/simplewallet/simplewallet.cpp b/src/simplewallet/simplewallet.cpp
index 8c0b300ad..cf75d57eb 100644
--- a/src/simplewallet/simplewallet.cpp
+++ b/src/simplewallet/simplewallet.cpp
@@ -9954,6 +9954,16 @@ bool simple_wallet::mms(const std::vector<std::string> &args)
{
try
{
+ m_wallet->get_multisig_wallet_state();
+ }
+ catch(const std::exception &e)
+ {
+ fail_msg_writer() << tr("MMS not available in this wallet");
+ return true;
+ }
+
+ try
+ {
mms::message_store& ms = m_wallet->get_message_store();
if (args.size() == 0)
{
diff --git a/src/wallet/wallet2.cpp b/src/wallet/wallet2.cpp
index 085e6075f..3b9e2c469 100644
--- a/src/wallet/wallet2.cpp
+++ b/src/wallet/wallet2.cpp
@@ -5085,7 +5085,14 @@ void wallet2::load(const std::string& wallet_, const epee::wipeable_string& pass
MERROR("Failed to save rings, will try again next time");
}
- m_message_store.read_from_file(get_multisig_wallet_state(), m_mms_file);
+ try
+ {
+ m_message_store.read_from_file(get_multisig_wallet_state(), m_mms_file);
+ }
+ catch (const std::exception &e)
+ {
+ MERROR("Failed to initialize MMS, it will be unusable");
+ }
}
//----------------------------------------------------------------------------------------------------
void wallet2::trim_hashchain()