diff options
author | Eike Rathke <erack@redhat.com> | 2015-06-25 20:06:47 +0200 |
---|---|---|
committer | Eike Rathke <erack@redhat.com> | 2015-06-25 20:21:05 +0200 |
commit | c48af2b55a60492565b987ee65d98edc6bd94533 (patch) | |
tree | 92e5c5b635461567be460ac5ed5854e118869173 | |
parent | 54106fae68149c0b1dbb4f6ece133fefacacc322 (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
-rw-r--r-- | sc/source/core/tool/address.cxx | 4 |
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 ); |