Merge pull request #4794

e198b06e Fix: out_of_hashchain_bounds_error in refresh (Hasan Pekdemir)
This commit is contained in:
Riccardo Spagni 2018-11-16 11:10:20 +02:00
commit f9c60736b8
No known key found for this signature in database
GPG Key ID: 55432DF31CCD4FCD

View File

@ -2731,7 +2731,7 @@ void wallet2::refresh(bool trusted_daemon, uint64_t start_height, uint64_t & blo
short_chain_history.clear(); short_chain_history.clear();
get_short_chain_history(short_chain_history); get_short_chain_history(short_chain_history);
fast_refresh(stop_height, blocks_start_height, short_chain_history, true); fast_refresh(stop_height, blocks_start_height, short_chain_history, true);
THROW_WALLET_EXCEPTION_IF(m_blockchain.size() != stop_height, error::wallet_internal_error, "Unexpected hashchain size"); THROW_WALLET_EXCEPTION_IF((m_blockchain.size() == stop_height || (m_blockchain.size() == 1 && stop_height == 0) ? false : true), error::wallet_internal_error, "Unexpected hashchain size");
THROW_WALLET_EXCEPTION_IF(m_blockchain.offset() != 0, error::wallet_internal_error, "Unexpected hashchain offset"); THROW_WALLET_EXCEPTION_IF(m_blockchain.offset() != 0, error::wallet_internal_error, "Unexpected hashchain offset");
for (const auto &h: tip) for (const auto &h: tip)
m_blockchain.push_back(h); m_blockchain.push_back(h);