From 3df1e668da892181e3cee3078de64e5d12098f85 Mon Sep 17 00:00:00 2001 From: tequ Date: Fri, 10 Apr 2026 17:55:40 +0900 Subject: [PATCH] fix Unchecked std::optional Dereference in SponsorshipSet Create Path --- src/libxrpl/tx/transactors/Sponsor/SponsorshipSet.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/libxrpl/tx/transactors/Sponsor/SponsorshipSet.cpp b/src/libxrpl/tx/transactors/Sponsor/SponsorshipSet.cpp index f5e9f333f6..376cb6afc6 100644 --- a/src/libxrpl/tx/transactors/Sponsor/SponsorshipSet.cpp +++ b/src/libxrpl/tx/transactors/Sponsor/SponsorshipSet.cpp @@ -260,10 +260,14 @@ SponsorshipSet::doApply() auto const sponsorPage = view().dirInsert( keylet::ownerDir(sponsorAccountID), sponsorKeylet, describeOwnerDir(sponsorAccountID)); + if (!sponsorPage) + return tecDIR_FULL; // LCOV_EXCL_LINE (*newSle)[sfOwnerNode] = *sponsorPage; auto const sponseePage = view().dirInsert( keylet::ownerDir(sponseeAccountID), sponsorKeylet, describeOwnerDir(sponseeAccountID)); + if (!sponseePage) + return tecDIR_FULL; // LCOV_EXCL_LINE (*newSle)[sfSponseeNode] = *sponseePage; adjustOwnerCount(view(), sponsorAccSle, reserveSponsorAccSle, 1, ctx_.journal);