aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/cryptonote_core/blockchain.cpp13
1 files changed, 11 insertions, 2 deletions
diff --git a/src/cryptonote_core/blockchain.cpp b/src/cryptonote_core/blockchain.cpp
index b7e9f4ca2..b13ecbbf1 100644
--- a/src/cryptonote_core/blockchain.cpp
+++ b/src/cryptonote_core/blockchain.cpp
@@ -1765,9 +1765,18 @@ bool Blockchain::handle_alternative_block(const block& b, const crypto::hash& id
{
cryptonote::tx_memory_pool::tx_details td;
cryptonote::blobdata blob;
- if (m_tx_pool.get_transaction_info(txid, td))
+ if (m_tx_pool.have_tx(txid))
{
- bei.block_cumulative_weight += td.weight;
+ if (m_tx_pool.get_transaction_info(txid, td))
+ {
+ bei.block_cumulative_weight += td.weight;
+ }
+ else
+ {
+ MERROR_VER("Transaction is in the txpool, but metadata not found");
+ bvc.m_verifivation_failed = true;
+ return false;
+ }
}
else if (m_db->get_pruned_tx_blob(txid, blob))
{