# V628. It is possible that a line was commented out improperly, thus altering the program's operation logic.

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

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

    if(!hwndTasEdit)
    //hwndTasEdit = getTask()
    if(hwndTasEdit)
    {
     ...
    }

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

    //if(!hwndTasEdit)
    //hwndTasEdit = getTask()
    if(hwndTasEdit)
    {
     ...
    }

Анализатор не выдает ошибки в коде, где форматирование кода соответствует преднамеренному использованию последовательно двух операторов 'if', разделенных строкой комментария. Пример кода:

    if (Mail == ready)
      // comment
      if (findNewMail)
      {
       ...
      }

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

CWE-670 CERT-EXP19-C

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