# 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;

This diagnostic is classified as:

CWE-483

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