txpool: Properly bail out when outputs_amount == inputs_amount

Previously, when outputs_amount == inputs_amount, the "m_overspend" property
was set, whereas "m_fee_too_low" would have been the correct property to set.

This is unlikely to ever occur and just something I've noticed while reading
through the code.
This commit is contained in:
Leon Klingele 2018-01-30 16:16:20 +01:00
parent ed67e5c001
commit 399921347f
No known key found for this signature in database
GPG Key ID: 83AEC0FEBAA5D483

View File

@ -151,13 +151,20 @@ namespace cryptonote
} }
uint64_t outputs_amount = get_outs_money_amount(tx); uint64_t outputs_amount = get_outs_money_amount(tx);
if(outputs_amount >= inputs_amount) if(outputs_amount > inputs_amount)
{ {
LOG_PRINT_L1("transaction use more money then it has: use " << print_money(outputs_amount) << ", have " << print_money(inputs_amount)); LOG_PRINT_L1("transaction use more money then it has: use " << print_money(outputs_amount) << ", have " << print_money(inputs_amount));
tvc.m_verifivation_failed = true; tvc.m_verifivation_failed = true;
tvc.m_overspend = true; tvc.m_overspend = true;
return false; return false;
} }
else if(outputs_amount == inputs_amount)
{
LOG_PRINT_L1("transaction fee is zero: outputs_amount == inputs_amount, rejecting.");
tvc.m_verifivation_failed = true;
tvc.m_fee_too_low = true;
return false;
}
fee = inputs_amount - outputs_amount; fee = inputs_amount - outputs_amount;
} }