...
When multiple statements are used in a macro, they should be bound together in a do-while
loop syntactically, so the macro can appear safely inside if
clauses or other places that expect a single statement or a statement block. Note that this is only effective if none of the multiple statements are break
or continue
, as they would be captured by the do-while
loop. (Alternatively, when an if
, for
, or while
statement uses braces even for a single body statement, then multiple statements in a macro will expand correctly even without a do-while
loop (see EXP19-C. Use braces for the body of an if, for, or while statement).
...
Improperly wrapped statement macros can result in unexpected and difficult to diagnose behavior.
Recommendation | Severity | Likelihood | Remediation Cost | Priority | Level |
---|
PRE10-C | Medium | Probable | Low | P12 | L1 |
Automated Detection
PRQA QACPRQA QACvPRQA QACv3412, 3458
| Fully implemented Related Vulnerabilities
Search for vulnerabilities resulting from the violation of this rule on the CERT website.
Related Guidelines
Bibliography
...
...