# V6089. It's possible that the line was commented out improperly, thus altering the program's operation logics.

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

Диагностическое правило ищет комментарии, похожие на код, между оператором 'if (...)' и его 'then'-ветвью, причем 'then'-ветвь отформатирована подозрительным образом. В этом случае можно предположить, что текущая 'then'-ветвь стала результатом неудачного рефакторинга.

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

    if (hwndTaskEdit == null)
    //  hwndTaskEdit = getTask(...);
    if (hwndTaskEdit != null)
    {
     ...
    }

Программа потеряла смысл: условие второго оператора 'if' никогда не выполняется.

Корректный вариант кода:

    // if (hwndTaskEdit == null)
    //   hwndTaskEdit = getTask(...);
    if (hwndTaskEdit != null)
    {
     ...
    }

Анализатор не будет выдавать предупреждение, если форматирование кода будет соответствовать логике программы.

Пример кода:

    if (isReady)
      // some comment
      if (isSmt)
      {
       ...
      }

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

CWE-670 CERT-EXP52-J