simplewallet: donate command validate amount

This commit is contained in:
selsta 2018-12-07 13:37:23 +01:00
parent 7e957c162a
commit 1d892ec881
No known key found for this signature in database
GPG Key ID: 2EA0A99A8B07AE5E

View File

@ -5970,8 +5970,18 @@ bool simple_wallet::donate(const std::vector<std::string> &args_)
local_args.pop_back(); local_args.pop_back();
} }
// get amount and pop // get amount and pop
amount_str = local_args.back(); uint64_t amount;
local_args.pop_back(); bool ok = cryptonote::parse_amount(amount, local_args.back());
if (ok && amount != 0)
{
amount_str = local_args.back();
local_args.pop_back();
}
else
{
fail_msg_writer() << tr("amount is wrong: ") << local_args.back() << ", " << tr("expected number from 0 to ") << print_money(std::numeric_limits<uint64_t>::max());
return true;
}
// push back address, amount, payment id // push back address, amount, payment id
local_args.push_back(MONERO_DONATION_ADDR); local_args.push_back(MONERO_DONATION_ADDR);
local_args.push_back(amount_str); local_args.push_back(amount_str);