V3043. The code's operational logic does not correspond with its formatting.


The analyzer detected a possible error: the formatting of the code after a conditional statement does not correspond with the program's execution logic. Opening and closing braces may be missing.

Consider the following example:

if (a == 1)
  b = c; d = b;

In this code, the assignment 'd = b;' will be executed all the time regardless of the 'a == 1' condition.

If it is really an error, the code can be fixed by adding the braces:

if (a == 1)
  { b = c; d = b; }

Here is one more example of incorrect code:

if (a == 1)
  b = c;
  d = b;

Again, we need to put in the braces to fix the error:

if (a == 1)
{
  b = c;
  d = b;
}

If it is not an error, the code should be formatted in the following way to prevent the displaying of warning V3043:

if (a == 1)
  b = c;
d = b;

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

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


Bugs Found

Checked Projects
344
Collected Errors
12 970