From a99a3c0bd6d5476503c015e23be569295fdd190c Mon Sep 17 00:00:00 2001 From: pasta Date: Fri, 5 Jun 2020 13:40:02 -0500 Subject: [PATCH] rpc: Validate provided keys for query_options parameter in listunspent With this change listunspent will throw an error if there is a wrong key in the query_option object. Signed-off-by: pasta --- src/wallet/rpcwallet.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/wallet/rpcwallet.cpp b/src/wallet/rpcwallet.cpp index 2a9ac189ea0..2dbe88ad1a6 100644 --- a/src/wallet/rpcwallet.cpp +++ b/src/wallet/rpcwallet.cpp @@ -2898,6 +2898,15 @@ static UniValue listunspent(const JSONRPCRequest& request) if (!request.params[4].isNull()) { const UniValue& options = request.params[4].get_obj(); + RPCTypeCheckObj(options, + { + {"minimumAmount", UniValueType()}, + {"maximumAmount", UniValueType()}, + {"minimumSumAmount", UniValueType()}, + {"maximumCount", UniValueType(UniValue::VNUM)}, + }, + true, true); + if (options.exists("minimumAmount")) nMinimumAmount = AmountFromValue(options["minimumAmount"]);