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.
if (a == b); {
/* ... */
}
Compliant Solution
It is likely, in this example, that the semicolon was accidentally inserted.
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