V3064. Division or mod division by zero.


Анализатор обнаружил ситуацию, когда может произойти деление на ноль.

Рассмотрим пример:

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

В условии проверяется, что значение переменной maxHeight неотрицательно. Если эта переменная будет равна нулю, то внутри условия произойдёт деление на 0. Чтобы исправить ситуацию, необходимо выполнять деление только в том случае, когда maxHeight положительно.

Исправленный вариант:

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

Согласно Common Weakness Enumeration, потенциальные ошибки, найденные с помощью этой диагностики, классифицируются как CWE-369.

Взгляните на примеры ошибок, обнаруженных с помощью диагностики V3064.


Найденные ошибки

Проверено проектов
361
Собрано ошибок
13 417

А ты совершаешь ошибки в коде?

Проверь с помощью
PVS-Studio

Статический анализ
кода для C, C++, C#
и Java

goto PVS-Studio;