formula/source/ui/dlg/FormulaHelper.cxx | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
New commits: commit f9790da286f2d2fa47f1748f8cfa6172c6622ca3 Author: Eike Rathke <er...@redhat.com> AuthorDate: Tue May 12 23:49:46 2020 +0200 Commit: Eike Rathke <er...@redhat.com> CommitDate: Wed May 13 00:34:47 2020 +0200 Check maximum end position to not assert() or "!!br0ken!!" While editing a formula in the Function Wizard it could happen that inserting an unclosed quote attempted to copy one more character than string length for parameter display. For example =FUNC("A";") Change-Id: Ic25ee0b97c3baee8d2e964c9e4b907415b0d889e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94086 Reviewed-by: Eike Rathke <er...@redhat.com> Tested-by: Jenkins diff --git a/formula/source/ui/dlg/FormulaHelper.cxx b/formula/source/ui/dlg/FormulaHelper.cxx index 9dbc5d8f7b80..5604c315b7f7 100644 --- a/formula/source/ui/dlg/FormulaHelper.cxx +++ b/formula/source/ui/dlg/FormulaHelper.cxx @@ -351,7 +351,9 @@ sal_Int32 FormulaHelper::GetFunctionEnd( const OUString& rStr, sal_Int32 nStart nStart++; // Set behind found position } - return nStart; + // nStart > nStrLen can happen if there was an unclosed quote; instead of + // checking that in every loop iteration check it once here. + return std::min(nStart, nStrLen); } _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits