diff --git a/lib/brakeman/processors/erb_template_processor.rb b/lib/brakeman/processors/erb_template_processor.rb index a5afb94e2e8538c35a0d372f7ed850406e9de1e8..4cdf240c178ecaddfbb4b516e1a604d9832785d0 100644 --- a/lib/brakeman/processors/erb_template_processor.rb +++ b/lib/brakeman/processors/erb_template_processor.rb @@ -46,11 +46,9 @@ class Brakeman::ErbTemplateProcessor < Brakeman::TemplateProcessor exp.arglist = process(exp.arglist) make_render_in_view exp else - #TODO: Is it really necessary to create a new Sexp here? - call = make_call target, method, process_all!(exp.args) - call.original_line = exp.original_line - call.line(exp.line) - call + exp.target = target + exp.arglist = process(exp.arglist) + exp end end diff --git a/lib/brakeman/processors/erubis_template_processor.rb b/lib/brakeman/processors/erubis_template_processor.rb index 61550c724c7342beca1421041a74c0d1d83f8c76..240e1384b398cc606b4c52e3e46b3a87a900beb1 100644 --- a/lib/brakeman/processors/erubis_template_processor.rb +++ b/lib/brakeman/processors/erubis_template_processor.rb @@ -9,12 +9,14 @@ class Brakeman::ErubisTemplateProcessor < Brakeman::TemplateProcessor if sexp? target target = process target end + + exp.target = target + exp.arglist = process exp.arglist method = exp.method #_buf is the default output variable for Erubis if node_type?(target, :lvar, :ivar) and (target.value == :_buf or target.value == :@output_buffer) if method == :<< or method == :safe_concat - exp.arglist = process exp.arglist arg = exp.first_arg @@ -42,14 +44,9 @@ class Brakeman::ErubisTemplateProcessor < Brakeman::TemplateProcessor abort "Unrecognized action on buffer: #{method}" end elsif target == nil and method == :render - exp.arglist = process exp.arglist make_render_in_view exp else - #TODO: Is it really necessary to create a new Sexp here? - call = make_call target, method, process_all!(exp.args) - call.original_line = exp.original_line - call.line(exp.line) - call + exp end end diff --git a/lib/brakeman/processors/haml_template_processor.rb b/lib/brakeman/processors/haml_template_processor.rb index 2b19b0ae1924c8302a7cae9da005c0e4c62f378e..021e05809a556ded1a197f2a8858f9a111b7a7dd 100644 --- a/lib/brakeman/processors/haml_template_processor.rb +++ b/lib/brakeman/processors/haml_template_processor.rb @@ -76,11 +76,9 @@ class Brakeman::HamlTemplateProcessor < Brakeman::TemplateProcessor exp.arglist = process exp.arglist make_render_in_view exp else - #TODO: Do we really need a new Sexp here? - call = make_call target, method, process_all!(exp.args) - call.original_line = exp.original_line - call.line(exp.line) - call + exp.target = target + exp.arglist = process exp.arglist + exp end end diff --git a/lib/brakeman/processors/slim_template_processor.rb b/lib/brakeman/processors/slim_template_processor.rb index 9f4187770b61644e22de0a56c2efa332621b0575..e48ebdd87f1c6b5a93ed33a3716da8d1a1303242 100644 --- a/lib/brakeman/processors/slim_template_processor.rb +++ b/lib/brakeman/processors/slim_template_processor.rb @@ -38,10 +38,8 @@ class Brakeman::SlimTemplateProcessor < Brakeman::TemplateProcessor exp.arglist = process exp.arglist make_render_in_view exp else - call = make_call target, method, process_all!(exp.args) - call.original_line = exp.original_line - call.line(exp.line) - call + exp.arglist = process exp.arglist + exp end end