diff options
author | Lex Kalinkin <lex@shamahan.com> | 2015-12-24 16:12:42 +0200 |
---|---|---|
committer | Lex Kalinkin <lex@shamahan.com> | 2015-12-24 16:12:42 +0200 |
commit | a004130a043101c8029199a22263db9cc7c4541c (patch) | |
tree | 23d44693168ec045fe459ca2c6fa58f657327956 | |
parent | Merge pull request #556 (diff) | |
download | monero-a004130a043101c8029199a22263db9cc7c4541c.tar.xz |
fix for 'failed to generate new wallet: failed to save file' error during wallet generation
-rw-r--r-- | src/wallet/wallet2.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/wallet/wallet2.cpp b/src/wallet/wallet2.cpp index d10529194..1210e8521 100644 --- a/src/wallet/wallet2.cpp +++ b/src/wallet/wallet2.cpp @@ -1293,9 +1293,11 @@ void wallet2::store() r = epee::file_io_utils::save_string_to_file(new_file, buf); THROW_WALLET_EXCEPTION_IF(!r, error::file_save_error, new_file); boost::filesystem::remove(old_file); // probably does not exist - std::error_code e = tools::replace_file(m_wallet_file, old_file); - THROW_WALLET_EXCEPTION_IF(e, error::file_save_error, m_wallet_file, e); - e = tools::replace_file(new_file, m_wallet_file); + if (boost::filesystem::exists(m_wallet_file)) { + std::error_code e = tools::replace_file(m_wallet_file, old_file); + THROW_WALLET_EXCEPTION_IF(e, error::file_save_error, m_wallet_file, e); + } + std::error_code e = tools::replace_file(new_file, m_wallet_file THROW_WALLET_EXCEPTION_IF(e, error::file_save_error, m_wallet_file, e); boost::filesystem::remove(old_file); } |