def process_result result
return if duplicate? result
call = result[:call] = result[:call].dup
args = call.arglist
tag_name = args[1]
content = args[2]
attributes = args[3]
escape_attr = args[4]
@matched = false
check_argument result, tag_name
unless @matched or (tracker.options[:rails3] and not raw? content)
check_argument result, content
end
if not @matched and hash? attributes and not request_value? attributes
hash_iterate(attributes) do |k, _v|
check_argument result, k
return if @matched
end
end
if not @matched and attributes and (false? escape_attr or cve_2016_6316?)
if request_value? attributes or not hash? attributes
check_argument result, attributes
else
hash_iterate(attributes) do |_k, v|
check_argument result, v
return if @matched
end
end
end
end