diff --git a/src/xrpld/rpc/handlers/ledger/LedgerEntry.cpp b/src/xrpld/rpc/handlers/ledger/LedgerEntry.cpp index 236712f0c20..2f52668266f 100644 --- a/src/xrpld/rpc/handlers/ledger/LedgerEntry.cpp +++ b/src/xrpld/rpc/handlers/ledger/LedgerEntry.cpp @@ -373,9 +373,7 @@ parseDirectoryNode( return parseObjectID(params, fieldName); } - if (params.isMember(jss::sub_index) && - (!params[jss::sub_index].isConvertibleTo(json::ValueType::UInt) || - params[jss::sub_index].isBool())) + if (params.isMember(jss::sub_index) && ((!params[jss::sub_index].isUInt() && !(params[jss::sub_index].isInt() && params[jss::sub_index].asInt() >= 0)) || params[jss::sub_index].isBool())) { return LedgerEntryHelpers::invalidFieldError("malformedRequest", jss::sub_index, "number"); }