summaryrefslogtreecommitdiff
path: root/cui/source/dialogs/hyphen.cxx
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2023-04-15 20:25:36 +0100
committerCaolán McNamara <caolanm@redhat.com>2023-04-16 20:43:06 +0200
commit80a0d3b44cd6edb6419ab66588548ba169f2567b (patch)
tree7b0b081d548c95afe20ff376062dbbaa4dfeeefa /cui/source/dialogs/hyphen.cxx
parentabc09fe149ed971074eecb0cc1808c35add6ccfa (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.cxx2
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;