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)

Reply via email to