cui/source/dialogs/hyphen.cxx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
New commits: commit 8ecccc379477def5085743d2b024bb99eba0ebc8 Author: Caolán McNamara <caol...@redhat.com> AuthorDate: Sat Apr 15 20:25:36 2023 +0100 Commit: Michael Stahl <michael.st...@allotropia.de> CommitDate: Mon Apr 17 14:19:51 2023 +0200 Resolves: tdf#153958 Hyphenation crashes with -Alte... nPos2 is 0 due to the -, so aLeft is empty, nPos is set to 0 then incremented to 1, aLeft.replaceFirst is run after its end pos so crashes/asserts. Presumably we can do nothing meaningful here so skip if nPos2 is 0 Change-Id: I09754c4b2567fe5c1b4c36de0b36ee99f575244d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150327 Tested-by: Jenkins Reviewed-by: Adolfo Jayme Barrientos <fit...@ubuntu.com> (cherry picked from commit 7584e403d57097ed4cc2d827d68895ec35cf805f) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150502 Reviewed-by: Xisco Fauli <xiscofa...@libreoffice.org> Reviewed-by: Caolán McNamara <caol...@redhat.com> Tested-by: Michael Stahl <michael.st...@allotropia.de> Reviewed-by: Michael Stahl <michael.st...@allotropia.de> diff --git a/cui/source/dialogs/hyphen.cxx b/cui/source/dialogs/hyphen.cxx index cc6666d7de8c..259ec5d03395 100644 --- a/cui/source/dialogs/hyphen.cxx +++ b/cui/source/dialogs/hyphen.cxx @@ -161,7 +161,7 @@ OUString SvxHyphenWordDialog::EraseUnusableHyphens_Impl() // 2) remove all hyphenation positions from the start that are not considered by the core const std::u16string_view aSearchRange( aTxt.subView( 0, nPos1 ) ); size_t nPos2 = aSearchRange.rfind( '-' ); // the '-' position the core will use by default - if (nPos2 != std::u16string_view::npos ) + if (nPos2 != std::u16string_view::npos && nPos2 != 0) { OUString aLeft( aSearchRange.substr( 0, nPos2 ) ); nPos = 0;