mirror of
https://github.com/XRPLF/rippled.git
synced 2025-12-01 00:15:51 +00:00
Handle Flags not present in LoanManage
- Addresses RIPD-3418
This commit is contained in:
@@ -658,6 +658,12 @@ class Loan_test : public beast::unit_test::suite
|
||||
// Manage the loan
|
||||
// no-op
|
||||
env(manage(lender, keylet.key, 0));
|
||||
{
|
||||
// no flags
|
||||
auto jt = manage(lender, keylet.key, 0);
|
||||
jt.removeMember(sfFlags.getName());
|
||||
env(jt);
|
||||
}
|
||||
// Only the lender can manage
|
||||
env(manage(evan, keylet.key, 0), ter(tecNO_PERMISSION));
|
||||
// unknown flags
|
||||
|
||||
@@ -64,7 +64,7 @@ LoanManage::preflight(PreflightContext const& ctx)
|
||||
return temINVALID;
|
||||
|
||||
// Flags are mutually exclusive
|
||||
auto const flags = ctx.tx[sfFlags] & tfUniversalMask;
|
||||
auto const flags = ctx.tx[~sfFlags].value_or(0) & tfUniversalMask;
|
||||
if ((flags & (flags - 1)) != 0)
|
||||
{
|
||||
JLOG(ctx.j.warn())
|
||||
|
||||
Reference in New Issue
Block a user