summaryrefslogtreecommitdiffstats
path: root/lib/puppet/parser
diff options
context:
space:
mode:
authorBrice Figureau <brice-puppet@daysofwonder.com>2009-09-21 22:48:30 +0200
committerJames Turnbull <james@lovedthanlost.net>2009-09-22 09:42:00 +1000
commit6551e86a03f5fa1f499386c96faa4587bdfac24e (patch)
treed8d7387759957ee5c74089e1f63e8492dcae2716 /lib/puppet/parser
parenta5950339f43e08516130ff0b7463dbe3fa925890 (diff)
downloadpuppet-6551e86a03f5fa1f499386c96faa4587bdfac24e.tar.gz
puppet-6551e86a03f5fa1f499386c96faa4587bdfac24e.tar.xz
puppet-6551e86a03f5fa1f499386c96faa4587bdfac24e.zip
Fix #2664 - Mathematic expressions mis-lexed as Regex
This is not the real fix. It is just an hot-fix to limit the issue. The issue is that the lexer regexes have precedences over simple '/' (divide). In the following expression: $var = 4096 / 4 $var2 = "/tmp/file" The / 4... part is mis-lexed as a regex instead of a mathematical expression. The current fix limits regex to one-line. Signed-off-by: Brice Figureau <brice-puppet@daysofwonder.com>
Diffstat (limited to 'lib/puppet/parser')
-rw-r--r--lib/puppet/parser/lexer.rb2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/puppet/parser/lexer.rb b/lib/puppet/parser/lexer.rb
index e027a69d1..0db6c22f2 100644
--- a/lib/puppet/parser/lexer.rb
+++ b/lib/puppet/parser/lexer.rb
@@ -171,7 +171,7 @@ class Puppet::Parser::Lexer
[self,value]
end
- TOKENS.add_token :REGEX, %r{/[^/]*/} do |lexer, value|
+ TOKENS.add_token :REGEX, %r{/[^/\n]*/} do |lexer, value|
# Make sure we haven't matched an escaped /
while value[-2..-2] == '\\'
other = lexer.scan_until(%r{/})