blockchain: avoid exceptions in output verification

This can happen if we get a bad tx, so let's not spam the log.
This commit is contained in:
moneromooo-monero 2017-10-12 13:27:20 +01:00
parent 86e9de588c
commit 5db433b3f7
No known key found for this signature in database
GPG Key ID: 686F07454D6CEFC3
1 changed files with 12 additions and 2 deletions

View File

@ -188,7 +188,12 @@ bool Blockchain::scan_outputkeys_for_indexes(size_t tx_version, const txin_to_ke
{ {
try try
{ {
m_db->get_output_key(tx_in_to_key.amount, absolute_offsets, outputs); m_db->get_output_key(tx_in_to_key.amount, absolute_offsets, outputs, true);
if (absolute_offsets.size() != outputs.size())
{
MERROR_VER("Output does not exist! amount = " << tx_in_to_key.amount);
return false;
}
} }
catch (...) catch (...)
{ {
@ -208,7 +213,12 @@ bool Blockchain::scan_outputkeys_for_indexes(size_t tx_version, const txin_to_ke
add_offsets.push_back(absolute_offsets[i]); add_offsets.push_back(absolute_offsets[i]);
try try
{ {
m_db->get_output_key(tx_in_to_key.amount, add_offsets, add_outputs); m_db->get_output_key(tx_in_to_key.amount, add_offsets, add_outputs, true);
if (add_offsets.size() != add_outputs.size())
{
MERROR_VER("Output does not exist! amount = " << tx_in_to_key.amount);
return false;
}
} }
catch (...) catch (...)
{ {