Our website uses cookies to enhance your browsing experience.
Accept
to the top
>
>
>
V3064. Division or mod division by zero.
menu mobile close menu
Additional information
toggle menu Contents

V3064. Division or mod division by zero.

Feb 25 2016

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.

close form

Fill out the form in 2 simple steps below:

Your contact information:

Step 1
Congratulations! This is your promo code!

Desired license type:

Step 2
Team license
Enterprise license
close form
Request our prices
New License
License Renewal
--Select currency--
USD
EUR
close form
Free PVS‑Studio license for Microsoft MVP specialists
close form
To get the licence for your open-source project, please fill out this form
close form
I want to join the test
* By clicking this button you agree to our Privacy Policy statement

close form
check circle
Message submitted.

Your message has been sent. We will email you at


If you do not see the email in your inbox, please check if it is filtered to one of the following folders:

  • Promotion
  • Updates
  • Spam