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. |
Was this page helpful?
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:
Take
a chance!