diff --git a/lib/liquid/variable.rb b/lib/liquid/variable.rb index ba860b09..d9fdf1c5 100644 --- a/lib/liquid/variable.rb +++ b/lib/liquid/variable.rb @@ -107,20 +107,21 @@ module Liquid end def taint_check(context, obj) - if obj.tainted? && Template.taint_mode != :lax - @markup =~ QuotedFragment - name = Regexp.last_match(0) + return unless obj.tainted? + return if Template.taint_mode == :lax - error = TaintedError.new("variable '#{name}' is tainted and was not escaped") - error.line_number = line_number - error.template_name = context.template_name + @markup =~ QuotedFragment + name = Regexp.last_match(0) - case Template.taint_mode - when :warn - context.warnings << error - when :error - raise error - end + error = TaintedError.new("variable '#{name}' is tainted and was not escaped") + error.line_number = line_number + error.template_name = context.template_name + + case Template.taint_mode + when :warn + context.warnings << error + when :error + raise error end end end