def process_result result
return unless original? result
call = result[:call]
components = call[1..-1]
components.any? do |component|
next unless sexp? component
if match = has_immediate_user_input?(component)
confidence = :high
elsif match = has_immediate_model?(component)
match = Match.new(:model, match)
confidence = :medium
elsif match = include_user_input?(component)
confidence = :weak
end
if match
message = msg(msg_input(match), " used in regular expression")
warn :result => result,
:warning_type => "Denial of Service",
:warning_code => :regex_dos,
:message => message,
:confidence => confidence,
:user_input => match
end
end
end