﻿# V3064\. Division or mod division by zero\.

The analyzer has detected a potential division by zero\. 

The example:

```cpp
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:

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

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

```cpp
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:

```cpp
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;
  }
}
```