sw/source/uibase/misc/redlndlg.cxx | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-)
New commits: commit c920581dc81e553a07d0cd27f5d218df39811b6d Author: Justin Luth <jl...@mail.com> AuthorDate: Thu Sep 18 08:16:47 2025 -0400 Commit: Justin Luth <jl...@mail.com> CommitDate: Thu Sep 18 16:46:26 2025 +0200 tdf#168377 sw: avoid crash in redlndlg - index out of range Everywhere else GetRedlinePos() is used it is checked against SwRedlineTable::npos to identify a valid index position. Change-Id: I46a52a9c7aadab4b1690562c0ba32027cd2dcd2f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/191121 Tested-by: Jenkins Reviewed-by: Justin Luth <jl...@mail.com> diff --git a/sw/source/uibase/misc/redlndlg.cxx b/sw/source/uibase/misc/redlndlg.cxx index 6be6ce8d794c..063e70c925fe 100644 --- a/sw/source/uibase/misc/redlndlg.cxx +++ b/sw/source/uibase/misc/redlndlg.cxx @@ -1126,10 +1126,13 @@ void SwRedlineAcceptDlg::CallAcceptReject( bool bSelect, bool bAccept ) if ( !bSelect && !bAccept && !m_bOnlyFormatedRedlines ) { SwRedlineTable::size_type nPosition = GetRedlinePos(rEntry); - const SwRangeRedline& rRedln = pSh->GetRedline(nPosition); + if (nPosition != SwRedlineTable::npos) + { + const SwRangeRedline& rRedln = pSh->GetRedline(nPosition); - if( RedlineType::Format == rRedln.GetType() ) - bIsNotFormatted = false; + if (RedlineType::Format == rRedln.GetType()) + bIsNotFormatted = false; + } } if (!pData->bDisabled && bIsNotFormatted)