From 716f3e73fcedc4c4c107527a49aaec604a7e2c63 Mon Sep 17 00:00:00 2001 From: Andreas Heinisch Date: Thu, 25 Aug 2022 21:53:06 +0200 Subject: 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 (cherry picked from commit 33c6dcfaab35a70f8794a67d31fbec636cb485d5) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138897 Reviewed-by: Julien Nabet Tested-by: Ilmari Lauhakangas Reviewed-by: Ilmari Lauhakangas --- sw/source/core/doc/doctxm.cxx | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) 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(); } -- cgit v1.2.3