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)
    ....
}

According to Common Weakness Enumeration, potential errors found by using this diagnostic are classified as CWE-571.

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


Bugs Found

Checked Projects
334
Collected Errors
12 668