...
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).
...
Related Vulnerabilities
Search for vulnerabilities resulting from the violation of this rule on the CERT website.
...