wallet fix: ensure iterator to be valid

This commit is contained in:
stoffu 2017-05-09 11:54:21 +09:00
parent 694470fae7
commit 6cb1ad1fa2
No known key found for this signature in database
GPG Key ID: 41DAB8343A9EC012
1 changed files with 3 additions and 0 deletions

View File

@ -4266,7 +4266,10 @@ std::vector<wallet2::pending_tx> wallet2::create_transactions_2(std::vector<cryp
std::vector<cryptonote::tx_destination_entry>::iterator i; std::vector<cryptonote::tx_destination_entry>::iterator i;
i = std::find_if(dsts.begin(), dsts.end(), [&](const cryptonote::tx_destination_entry &d) { return !memcmp (&d.addr, &addr, sizeof(addr)); }); i = std::find_if(dsts.begin(), dsts.end(), [&](const cryptonote::tx_destination_entry &d) { return !memcmp (&d.addr, &addr, sizeof(addr)); });
if (i == dsts.end()) if (i == dsts.end())
{
dsts.push_back(tx_destination_entry(0,addr)); dsts.push_back(tx_destination_entry(0,addr));
i = dsts.end() - 1;
}
i->amount += amount; i->amount += amount;
} }
else else