sw/source/core/doc/doctxm.cxx |    5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

New commits:
commit 716f3e73fcedc4c4c107527a49aaec604a7e2c63
Author:     Andreas Heinisch <[email protected]>
AuthorDate: Thu Aug 25 21:53:06 2022 +0200
Commit:     Ilmari Lauhakangas <[email protected]>
CommitDate: Sat Aug 27 15:13:21 2022 +0200

    tdf#150594 - Prevent crash while searching for the next outline node
    
    Change-Id: Ia83968b26f0053815c0da9910aa00f9dde577246
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138850
    Tested-by: Jenkins
    Reviewed-by: Andreas Heinisch <[email protected]>
    (cherry picked from commit 33c6dcfaab35a70f8794a67d31fbec636cb485d5)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138897
    Reviewed-by: Julien Nabet <[email protected]>
    Tested-by: Ilmari Lauhakangas <[email protected]>
    Reviewed-by: Ilmari Lauhakangas <[email protected]>

diff --git a/sw/source/core/doc/doctxm.cxx b/sw/source/core/doc/doctxm.cxx
index 83310172e852..9665c3915714 100644
--- a/sw/source/core/doc/doctxm.cxx
+++ b/sw/source/core/doc/doctxm.cxx
@@ -804,8 +804,9 @@ static bool IsHeadingContained(const SwTextNode* pChptrNd, 
const SwNode& rNd)
         else
         {
             // Search for the next outline node which lies not within the 
current chapter node
-            while (pChptrNd->GetAttrOutlineLevel()
-                   < rONds[nPos]->GetTextNode()->GetAttrOutlineLevel())
+            while (nPos > 0
+                   && pChptrNd->GetAttrOutlineLevel()
+                          < rONds[nPos]->GetTextNode()->GetAttrOutlineLevel())
                 nPos--;
             bIsHeadingContained = pChptrNd == rONds[nPos]->GetTextNode();
         }

Reply via email to