class Brakeman::CheckDivideByZero
Public Instance Methods
check_division(result)
click to toggle source
# File lib/brakeman/checks/check_divide_by_zero.rb, line 14 def check_division result return unless original? result call = result[:call] denominator = call.first_arg if number? denominator and denominator.value == 0 numerator = call.target if number? numerator if numerator.value.is_a? Float return # 0.0 / 0 is NaN and 1.0 / 0 is Infinity else confidence = :medium end else confidence = :weak end warn :result => result, :warning_type => "Divide by Zero", :warning_code => :divide_by_zero, :message => "Potential division by zero", :confidence => confidence, :user_input => denominator, :cwe_id => [369] end end
run_check()
click to toggle source
# File lib/brakeman/checks/check_divide_by_zero.rb, line 8 def run_check tracker.find_call(:method => :"/").each do |result| check_division result end end