Do not use a semicolon on the same line as an if
, for
, or while
statement because this typically indicates programmer error and can result in unexpected behavior.
Noncompliant Code Example
In this noncompliant code example, a semicolon is used on the same line as an if
statement.
Code Block | ||
---|---|---|
| ||
if (a == b); {
/* ... */
}
|
Compliant Solution
It is likely, in this example, that the semicolon was accidentally inserted.
Code Block | ||
---|---|---|
| ||
if (a == b) {
/* ... */
}
|
Risk Assessment
Placing a semicolon on the same line as an if
, for
, or while
statement may result in unexpected behavior.
Guideline | Severity | Likelihood | Remediation Cost | Priority | Level |
---|---|---|---|---|---|
MSC52-JG | low | unlikely | low | P3 | L3 |
Related Guidelines
CERT C Secure Coding Standard | EXP15-C. Do not place a semicolon on the same line as an if, for, or while statement |
"Likely Incorrect Expression [KOA]" |
Bibliography
Section 2.7.2, "Errors of omission and addition" |
MSC04-J. Do not leak memory 49. Miscellaneous (MSC) MSC05-J. Do not exhaust heap space