summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2022-06-22 16:05:53 +0100
committerXisco Fauli <xiscofauli@libreoffice.org>2022-06-23 11:17:54 +0200
commitdff039e61ac737c779b538d20a57a5e0a401cf60 (patch)
tree62ad889fef545bd36d6d6c2bc2e0a211387d9a09
parentResolves: tdf#149589 No "+ or - may start formula" when editing content (diff)
downloadcore-dff039e61ac737c779b538d20a57a5e0a401cf60.tar.gz
core-dff039e61ac737c779b538d20a57a5e0a401cf60.zip
crashtesting: assert seen with forum-mso-de-53682
not reproducible for me, but appears to be an empty string here sometimes. Change-Id: I8465f178cc7e5a6efdc08c1d15c154eeb2277c7b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/136247 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
-rw-r--r--formula/source/core/api/token.cxx8
1 files changed, 6 insertions, 2 deletions
diff --git a/formula/source/core/api/token.cxx b/formula/source/core/api/token.cxx
index 89ae03162778..a7d44f897a24 100644
--- a/formula/source/core/api/token.cxx
+++ b/formula/source/core/api/token.cxx
@@ -1249,8 +1249,12 @@ bool FormulaMissingContext::AddMissingExternal( FormulaTokenArray *pNewArr ) con
const OUString &rName = mpFunc->GetExternal();
- // initial (fast) check:
- sal_Unicode nLastChar = rName[ rName.getLength() - 1];
+ // initial (fast) checks:
+ sal_Int32 nLength = rName.getLength();
+ if (!nLength)
+ return false;
+
+ sal_Unicode nLastChar = rName[ nLength - 1];
if ( nLastChar != 't' && nLastChar != 'm' )
return false;