[Libreoffice-commits] core.git: sc/source

Caolán McNamara caolanm at redhat.com
Thu Nov 30 11:46:08 UTC 2017


 sc/source/core/tool/compiler.cxx |    4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

New commits:
commit 1d961ae75321cd04f40fcee8fae94c059fc466f1
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Wed Nov 29 17:05:07 2017 +0000

    ofz#4484 don't set mnRangeOpPosInSymbol on StringOverflow case
    
    Change-Id: I35d86c97e4fb082a676a5eeadf8375738cecd7bd
    Reviewed-on: https://gerrit.libreoffice.org/45519
    Reviewed-by: Eike Rathke <erack at redhat.com>
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>
    Tested-by: Caolán McNamara <caolanm at redhat.com>

diff --git a/sc/source/core/tool/compiler.cxx b/sc/source/core/tool/compiler.cxx
index 65780e5ad1e2..dce7841b80cd 100644
--- a/sc/source/core/tool/compiler.cxx
+++ b/sc/source/core/tool/compiler.cxx
@@ -2214,14 +2214,16 @@ Label_MaskStateMachine:
                 {
                     // One range operator may form Sheet1.A:A, which we need to
                     // pass as one entity to IsReference().
-                    mnRangeOpPosInSymbol = pSym - &cSymbol[0];
                     if( pSym == &cSymbol[ MAXSTRLEN ] )
                     {
                         SetError(FormulaError::StringOverflow);
                         eState = ssStop;
                     }
                     else
+                    {
+                        mnRangeOpPosInSymbol = pSym - &cSymbol[0];
                         *pSym++ = c;
+                    }
                 }
                 else if ( 128 <= c || '\'' == c )
                 {   // High values need reparsing with i18n,


More information about the Libreoffice-commits mailing list