From adc30e6fff6da6441ea00887bd00a37d15380a1a Mon Sep 17 00:00:00 2001 From: Ed Hennis Date: Tue, 3 Dec 2024 15:03:22 -0500 Subject: [PATCH] test: Check for some unlikely null dereferences in tests (#5004) --- src/test/jtx/impl/flags.cpp | 8 ++++++-- src/test/rpc/AccountSet_test.cpp | 2 +- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/test/jtx/impl/flags.cpp b/src/test/jtx/impl/flags.cpp index 992e1a88bb..6658d3eba9 100644 --- a/src/test/jtx/impl/flags.cpp +++ b/src/test/jtx/impl/flags.cpp @@ -41,7 +41,9 @@ void flags::operator()(Env& env) const { auto const sle = env.le(account_); - if (sle->isFieldPresent(sfFlags)) + if (!sle) + env.test.fail(); + else if (sle->isFieldPresent(sfFlags)) env.test.expect((sle->getFieldU32(sfFlags) & mask_) == mask_); else env.test.expect(mask_ == 0); @@ -51,7 +53,9 @@ void nflags::operator()(Env& env) const { auto const sle = env.le(account_); - if (sle->isFieldPresent(sfFlags)) + if (!sle) + env.test.fail(); + else if (sle->isFieldPresent(sfFlags)) env.test.expect((sle->getFieldU32(sfFlags) & mask_) == 0); else env.test.pass(); diff --git a/src/test/rpc/AccountSet_test.cpp b/src/test/rpc/AccountSet_test.cpp index e5475e3f53..3c6cad00e2 100644 --- a/src/test/rpc/AccountSet_test.cpp +++ b/src/test/rpc/AccountSet_test.cpp @@ -41,7 +41,7 @@ public: env.fund(XRP(10000), noripple(alice)); // ask for the ledger entry - account root, to check its flags auto const jrr = env.le(alice); - BEAST_EXPECT((*env.le(alice))[sfFlags] == 0u); + BEAST_EXPECT(jrr && jrr->at(sfFlags) == 0u); } void