From 5c67c486e866c9caaeeff4bd990600a91f5a246c Mon Sep 17 00:00:00 2001 From: moneromooo-monero Date: Thu, 31 Dec 2015 10:34:17 +0000 Subject: [PATCH] wallet: don't forget to close the file after storing cache Also add some flags to open, as epee's save_string_to_file does, to truncate file, etc. --- src/wallet/wallet2.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/wallet/wallet2.cpp b/src/wallet/wallet2.cpp index cfa33b28..5ba7d937 100644 --- a/src/wallet/wallet2.cpp +++ b/src/wallet/wallet2.cpp @@ -1288,9 +1288,11 @@ void wallet2::store() const std::string old_file = m_wallet_file + ".old"; // save to new file - std::ofstream ostr(new_file); + std::ofstream ostr; + ostr.open(new_file, std::ios_base::binary | std::ios_base::out | std::ios_base::trunc); binary_archive oar(ostr); bool success = ::serialization::serialize(oar, cache_file_data); + ostr.close(); THROW_WALLET_EXCEPTION_IF(!success || !ostr.good(), error::file_save_error, new_file); // rename