diff options
author | Eike Rathke <erack@redhat.com> | 2013-01-21 17:56:25 +0100 |
---|---|---|
committer | Markus Mohrhard <markus.mohrhard@googlemail.com> | 2013-01-21 17:46:15 +0000 |
commit | 657ecf4879b44703cfa007146c39e6ec8c94fad5 (patch) | |
tree | 4104c1f4d4eb9b5c749c8b89fb940ee18d940610 | |
parent | e6c8e7752a742444e581f9248af1c1e33dbcbeb5 (diff) |
resolved fdo#59583 prevent inappropriate column/row label detection
If followed by '(' (with or without space inbetween) an identifier can
not be a column/row label. Prevent arbitrary content detection in case a
macro function of the same name is meant (fdo#59583) or if it wouldn't
resolve to a known function name at all, that earlier resulted in #REF!
instead of #NAME? in the case of unknown function but label found.
(cherry picked from commit aa2b8bde171bf9562536dc14b2cf81d81e31b438)
Change-Id: I28d2e2492bddc02c07e139edbc69595a4f3f4a63
Reviewed-on: https://gerrit.libreoffice.org/1797
Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
Tested-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
-rw-r--r-- | sc/source/core/tool/compiler.cxx | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/sc/source/core/tool/compiler.cxx b/sc/source/core/tool/compiler.cxx index 062c494af2cd..f128e0009cf5 100644 --- a/sc/source/core/tool/compiler.cxx +++ b/sc/source/core/tool/compiler.cxx @@ -3693,7 +3693,9 @@ bool ScCompiler::NextNewToken( bool bInArray ) return true; if (IsDBRange( aUpper )) return true; - if (IsColRowName( aUpper )) + // If followed by '(' (with or without space inbetween) it can not be a + // column/row label. Prevent arbitrary content detection. + if (!bMayBeFuncName && IsColRowName( aUpper )) return true; if (bMayBeFuncName && IsMacro( aUpper )) return true; |