[Libreoffice-commits] .: Branch 'libreoffice-3-6' - sc/source

Libreoffice Gerrit user logerrit at kemper.freedesktop.org
Mon Jan 21 09:46:36 PST 2013


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

New commits:
commit 657ecf4879b44703cfa007146c39e6ec8c94fad5
Author: Eike Rathke <erack at redhat.com>
Date:   Mon Jan 21 17:56:25 2013 +0100

    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 at googlemail.com>
    Tested-by: Markus Mohrhard <markus.mohrhard at googlemail.com>

diff --git a/sc/source/core/tool/compiler.cxx b/sc/source/core/tool/compiler.cxx
index 062c494..f128e00 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;


More information about the Libreoffice-commits mailing list