diff options
author | Caolán McNamara <caolanm@redhat.com> | 2023-04-15 20:25:36 +0100 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2023-04-16 20:43:06 +0200 |
commit | 80a0d3b44cd6edb6419ab66588548ba169f2567b (patch) | |
tree | 7b0b081d548c95afe20ff376062dbbaa4dfeeefa /cui/source/dialogs/hyphen.cxx | |
parent | abc09fe149ed971074eecb0cc1808c35add6ccfa (diff) |
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/+/150445
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'cui/source/dialogs/hyphen.cxx')
-rw-r--r-- | cui/source/dialogs/hyphen.cxx | 2 |
1 files changed, 1 insertions, 1 deletions
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; |