[Libreoffice-commits] core.git: Branch 'libreoffice-6-4' - formula/source

Eike Rathke (via logerrit) logerrit at kemper.freedesktop.org
Wed May 13 08:11:43 UTC 2020


 formula/source/ui/dlg/FormulaHelper.cxx |    4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

New commits:
commit cf842260e9e0dceb4d7b3d5f7125b9730fe263d9
Author:     Eike Rathke <erack at redhat.com>
AuthorDate: Tue May 12 23:49:46 2020 +0200
Commit:     Michael Stahl <michael.stahl at cib.de>
CommitDate: Wed May 13 10:11:13 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 <erack at redhat.com>
    Tested-by: Jenkins
    (cherry picked from commit f9790da286f2d2fa47f1748f8cfa6172c6622ca3)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/93997
    Reviewed-by: Michael Stahl <michael.stahl at cib.de>

diff --git a/formula/source/ui/dlg/FormulaHelper.cxx b/formula/source/ui/dlg/FormulaHelper.cxx
index b3c0b4a204bc..09bfe09ed67d 100644
--- a/formula/source/ui/dlg/FormulaHelper.cxx
+++ b/formula/source/ui/dlg/FormulaHelper.cxx
@@ -346,7 +346,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);
 }
 
 


More information about the Libreoffice-commits mailing list