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


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

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

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

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

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

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

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

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


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

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

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

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

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

goto PVS-Studio;