simplewallet: guard against I/O exceptions

CID 175308
release-v0.4.0.1
moneromooo-monero 7 years ago
parent 06c1e05735
commit 4230876b31
No known key found for this signature in database
GPG Key ID: 686F07454D6CEFC3

@ -1708,9 +1708,18 @@ bool simple_wallet::open_wallet(const boost::program_options::variables_map& vm)
catch (const std::exception& e)
{
fail_msg_writer() << tr("failed to load wallet: ") << e.what();
// only suggest removing cache if the password was actually correct
if (m_wallet && m_wallet->verify_password(password))
fail_msg_writer() << boost::format(tr("You may want to remove the file \"%s\" and try again")) % m_wallet_file;
if (m_wallet)
{
// only suggest removing cache if the password was actually correct
bool password_is_correct = false;
try
{
password_is_correct = m_wallet->verify_password(password);
}
catch (...) { } // guard against I/O errors
if (password_is_correct)
fail_msg_writer() << boost::format(tr("You may want to remove the file \"%s\" and try again")) % m_wallet_file;
}
return false;
}
success_msg_writer() <<

Loading…
Cancel
Save