V3064. Division or mod division by zero.

The analyzer has detected a potential division by zero.

The example:

if (maxHeight >= 0)
{
  fx = height / maxHeight;
}

It is checked in the condition if the value of the maxHeight variable is non-negative. If this value equals 0, the division by zero occurs inside the if statement's body. To fix this issue, ensure that the division operation is executed only when maxHeight refers to a positive number.

The fixed code:

if (maxHeight > 0)
{
  fx = height / maxHeight;
}

The division by the value obtained from an external source is unsafe:

void Division()
{
  var divisibleStr = Request.QueryString["divisible"];
  var dividerStr = Request.QueryString["divider"];

  if (   Int32.TryParse(divisibleStr, out int divisible)
      && Int32.TryParse(dividerStr, out int divider))
  {
    int difference = divisible / divider;
  }
}

The value for dividerStr, obtained from an external source, is converted to int and assigned to the divider variable. This variable is then used as a divisor. If the value is 0, it can lead to the division by zero.

To fix this potential issue, check divider before performing the division:

void Division()
{
  var divisibleStr = Request.QueryString["divisible"];
  var dividerStr = Request.QueryString["divider"];

  if (   Int32.TryParse(divisibleStr, out int divisible)
      && Int32.TryParse(dividerStr, out int divider)
      && divider != 0) // <=
  {
    int difference = divisible / divider;
  }
}

This diagnostic is classified as:

You can look at examples of errors detected by the V3064 diagnostic.