Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Search for vulnerabilities resulting from the violation of this rule on the CERT website.

Other Languages

This rule appears in the C++ Secure Coding Standard as PRE05-CPP. Understand macro replacement when concatenating tokens or performing stringification.

References

Wiki Markup
\[[FSF 05|AA. C References#FSF 05]\] Section 3.4, ""[Stringification|http://gcc.gnu.org/onlinedocs/cpp/Stringification.html]; and Section 3.5, ""[Concatenation|http://gcc.gnu.org/onlinedocs/gcc-4.3.0/cpp/Concatenation.html#Concatenation]""
\[[ISO/IEC 9899:1999|AA. C References#ISO/IEC 9899-1999]\] Section 6.10.3, ""Macro replacement,"" Section 6.10.3.3, ""The {{\##}} operator,"" Section 6.10.3.2, ""The {{\#}} operator,"" Section 6.10.3.4, ""Rescanning and further replacement,"" and Section 6.10.8, ""Predefined macro names""
\[[Saks 08|AA. C References#Saks 08]\]

...

            01. Preprocessor (PRE)              PRE06-C. Enclose header files in an inclusion guard