From 1d961ae75321cd04f40fcee8fae94c059fc466f1 Mon Sep 17 00:00:00 2001 From: Caolán McNamara Date: Wed, 29 Nov 2017 17:05:07 +0000 Subject: ofz#4484 don't set mnRangeOpPosInSymbol on StringOverflow case MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: I35d86c97e4fb082a676a5eeadf8375738cecd7bd Reviewed-on: https://gerrit.libreoffice.org/45519 Reviewed-by: Eike Rathke Reviewed-by: Caolán McNamara Tested-by: Caolán McNamara --- sc/source/core/tool/compiler.cxx | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'sc') 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, -- cgit