mirror of
https://github.com/monero-project/monero.git
synced 2024-12-26 17:29:29 -05:00
Merge pull request #4987
841a6acd
wallet2: fix accessing unwound stack on exception (moneromooo-monero)
This commit is contained in:
commit
538043bdcd
@ -2800,13 +2800,16 @@ void wallet2::refresh(bool trusted_daemon, uint64_t start_height, uint64_t & blo
|
||||
bool first = true;
|
||||
while(m_run.load(std::memory_order_relaxed))
|
||||
{
|
||||
uint64_t next_blocks_start_height;
|
||||
std::vector<cryptonote::block_complete_entry> next_blocks;
|
||||
std::vector<parsed_block> next_parsed_blocks;
|
||||
bool error;
|
||||
try
|
||||
{
|
||||
// pull the next set of blocks while we're processing the current one
|
||||
uint64_t next_blocks_start_height;
|
||||
std::vector<cryptonote::block_complete_entry> next_blocks;
|
||||
std::vector<parsed_block> next_parsed_blocks;
|
||||
bool error = false;
|
||||
error = false;
|
||||
next_blocks.clear();
|
||||
next_parsed_blocks.clear();
|
||||
added_blocks = 0;
|
||||
if (!first && blocks.empty())
|
||||
{
|
||||
@ -2844,6 +2847,11 @@ void wallet2::refresh(bool trusted_daemon, uint64_t start_height, uint64_t & blo
|
||||
start_height = stop_height;
|
||||
throw std::runtime_error(""); // loop again
|
||||
}
|
||||
catch (const std::exception &e)
|
||||
{
|
||||
MERROR("Error parsing blocks: " << e.what());
|
||||
error = true;
|
||||
}
|
||||
blocks_fetched += added_blocks;
|
||||
}
|
||||
waiter.wait(&tpool);
|
||||
|
Loading…
Reference in New Issue
Block a user