summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEike Rathke <erack@redhat.com>2015-06-25 20:06:47 +0200
committerEike Rathke <erack@redhat.com>2015-06-25 20:26:29 +0200
commit69e5b158e3d5cd37b405315bd995788519b4a17b (patch)
treee7f23465da429e5c3b5dc5313505c1247c803a8c
parentba1a47fcc1adc389d35ee76d970c88842da517d2 (diff)
a singleton must be fully parsed to be valid, tdf#44419 related
No trailing characters must be present in 1:1 or A:A full row/column references, e.g. 2:2,2 is not valid. The original cause is the lexical analyzer that accepted 2,2 as the second part after the range operator because ',' is also the group separator here, which needs further changes. Change-Id: Iff354469f7dcb4e0b6fa645c39cc1f8ebad4a6ea (cherry picked from commit c48af2b55a60492565b987ee65d98edc6bd94533)
-rw-r--r--sc/source/core/tool/address.cxx4
1 files changed, 2 insertions, 2 deletions
diff --git a/sc/source/core/tool/address.cxx b/sc/source/core/tool/address.cxx
index a8aa96640464..18087a445197 100644
--- a/sc/source/core/tool/address.cxx
+++ b/sc/source/core/tool/address.cxx
@@ -922,7 +922,7 @@ static sal_uInt16 lcl_ScRange_Parse_XL_A1( ScRange& r,
tmp1 = lcl_eatWhiteSpace( tmp1 );
tmp2 = lcl_a1_get_row( tmp1, &r.aEnd, &nFlags2 );
- if( !tmp2 )
+ if( !tmp2 || *tmp2 != 0 ) // Must have fully parsed a singleton.
return 0;
r.aStart.SetCol( 0 ); r.aEnd.SetCol( MAXCOL );
@@ -945,7 +945,7 @@ static sal_uInt16 lcl_ScRange_Parse_XL_A1( ScRange& r,
tmp1 = lcl_eatWhiteSpace( tmp1 );
tmp2 = lcl_a1_get_col( tmp1, &r.aEnd, &nFlags2 );
- if( !tmp2 )
+ if( !tmp2 || *tmp2 != 0 ) // Must have fully parsed a singleton.
return 0;
r.aStart.SetRow( 0 ); r.aEnd.SetRow( MAXROW );