blockchain: skip checking tx semantics in embedded block hash range

If the txes are bad, this'll be picked up by the block hash mismatch
since the tx merkle root is part of the block hash.
This commit is contained in:
moneromooo-monero
2017-07-30 09:45:55 +01:00
parent ab594cfee9
commit 5d91b26c0f
3 changed files with 17 additions and 1 deletions
+5 -1
View File
@@ -564,7 +564,11 @@ namespace cryptonote
rv.outPk[n].dest = rct::pk2rct(boost::get<txout_to_key>(tx.vout[n].target).key);
}
if(!check_tx_semantic(tx, keeped_by_block))
if (keeped_by_block && get_blockchain_storage().is_within_compiled_block_hash_area())
{
MTRACE("Skipping semantics check for tx kept by block in embedded hash area");
}
else if(!check_tx_semantic(tx, keeped_by_block))
{
LOG_PRINT_L1("WRONG TRANSACTION BLOB, Failed to check tx " << tx_hash << " semantic, rejected");
tvc.m_verifivation_failed = true;