# V3030. Recurring check. This condition was already verified in previous line.

The analyzer has detected a possible error that has to do with one and the same condition being checked twice.

Consider the following two examples:

    // Example N1:
    if (A == B)
    {
      if (A == B)
        ....
    }

    // Example N2:
    if (A == B) {
    } else {
      if (A == B)
        ....
    }

The second "if (A == B)" condition is always true in the first case and always false in the second.

This code is very likely to contain an error – for example a wrong variable name is used because of a typo. Correct versions of the examples above should look like this:

    // Example N1:
    if (A == B)
    {
      if (A == C)
        ....
    }

    // Example N2:
    if (A == B) {
    } else {
      if (A == C)
        ....
    }

This diagnostic is classified as:

CWE-571

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