From 247af5e8a3ab27615ead66b06a4ade8f69ed7ea2 Mon Sep 17 00:00:00 2001 From: j-berman Date: Wed, 18 Mar 2026 23:02:33 -0700 Subject: [PATCH] cryptonote_core: try-catch in prepare same as cleanup --- src/cryptonote_core/cryptonote_core.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/cryptonote_core/cryptonote_core.cpp b/src/cryptonote_core/cryptonote_core.cpp index 473afa450..999442cdd 100644 --- a/src/cryptonote_core/cryptonote_core.cpp +++ b/src/cryptonote_core/cryptonote_core.cpp @@ -1407,7 +1407,11 @@ namespace cryptonote bool core::prepare_handle_incoming_blocks(const std::vector &blocks_entry, std::vector &blocks) { m_incoming_tx_lock.lock(); - if (!m_blockchain_storage.prepare_handle_incoming_blocks(blocks_entry, blocks)) + bool success = false; + try { success = m_blockchain_storage.prepare_handle_incoming_blocks(blocks_entry, blocks); } + catch (const std::exception &e) { MERROR("Failed prepare handle incoming blocks: " << e.what()); } + catch (...) { MERROR("Failed prepare handling incoming blocks"); } + if (!success) { cleanup_handle_incoming_blocks(false); return false;