From 1d892ec88122be46fe7592cfd1cd60e5b3adfa68 Mon Sep 17 00:00:00 2001 From: selsta Date: Fri, 7 Dec 2018 13:37:23 +0100 Subject: [PATCH] simplewallet: donate command validate amount --- src/simplewallet/simplewallet.cpp | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/simplewallet/simplewallet.cpp b/src/simplewallet/simplewallet.cpp index bcf6acbd56d..7e974bc501f 100644 --- a/src/simplewallet/simplewallet.cpp +++ b/src/simplewallet/simplewallet.cpp @@ -5970,8 +5970,18 @@ bool simple_wallet::donate(const std::vector &args_) local_args.pop_back(); } // get amount and pop - amount_str = local_args.back(); - local_args.pop_back(); + uint64_t amount; + 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::max()); + return true; + } // push back address, amount, payment id local_args.push_back(MONERO_DONATION_ADDR); local_args.push_back(amount_str);