# V609. Possible division or mod by zero.

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

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

    for (int i = -10; i != 10; ++i)
    {
      Foo(X / i);
    }

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

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

    for (int i = -10; i != 10; ++i)
    {
      if (i != 0)
        Foo(X / i);
    }

Выявляемые диагностикой ошибки классифицируются согласно ГОСТ Р 71207–2024 как критические и относятся к типу: Ошибки деления на ноль [* см. примечание касательно языков C#, Java], Ошибки непроверенного использования чувствительных данных (ввода пользователя, файлов, сети и пр.).

Данная диагностика классифицируется как:

CWE-369 CERT-INT33-C

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