Update cryptonote_format_utils.cpp

Fixed problem with integer saturation when summing summary_amounts and out_amounts in a 32-bit platform.
This commit is contained in:
NoodleDoodleNoodleDoodleNoodleDoodleNoo 2014-05-07 17:15:43 -07:00
parent b27f060815
commit ed444b7175

View File

@ -80,7 +80,7 @@ namespace cryptonote
#endif
block_reward += fee;
std::vector<size_t> out_amounts;
std::vector<uint64_t> out_amounts;
decompose_amount_into_digits(block_reward, DEFAULT_FEE,
[&out_amounts](uint64_t a_chunk) { out_amounts.push_back(a_chunk); },
[&out_amounts](uint64_t a_dust) { out_amounts.push_back(a_dust); });
@ -92,7 +92,7 @@ namespace cryptonote
out_amounts.resize(out_amounts.size() - 1);
}
size_t summary_amounts = 0;
uint64_t summary_amounts = 0;
for (size_t no = 0; no < out_amounts.size(); no++)
{
crypto::key_derivation derivation = AUTO_VAL_INIT(derivation);;