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

The analyzer has detected a potential error: two 'if' operators in a row are divided by a commented out line. It's highly probable that a code fragment was commented carelessly. The programmer's carelessness has caused a significant change of the program execution logic.

Consider this sample:

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

The program has become meaningless. The condition of the second 'if' operator never holds. This is the correct code:

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

The analyzer doesn't generate the warning for code where code formatting demonstrates deliberate use of two 'if' operators in a row divided by a comment line. Here is an example:

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

This diagnostic is classified as:

CWE-670 CERT-EXP19-C

You can look at examples of errors detected by the V628 diagnostic.