The CERT C Programming Language Secure Coding Standard was developed specifically for versions of the C programming language defined by
ISO/IEC 9899:1999 Programming Languages — C, Second Edition [[ISO/IEC 9899:1999]]
- Technical corrigenda TC1, TC2, and TC3
ISO/IEC TR 24731-1 Extensions to the C Library, Part I: Bounds-checking interfaces [[ISO/IEC TR 24731-1-2007]]
- ISO/IEC WDTR 24731-2 Extensions to the C Library, Part II: Dynamic Allocation Functions
Most of the material included in this standard can also be applied to earlier versions of the C programming language.
Rules and recommendations included in this standard are designed to be operating system and platform independent. However, the best available solutions to these problems is often platform specific. In most cases, we have attempted to provide appropriate compliant solutions for POSIX-compliant and Windows operating systems. In many cases, compliant solutions have also been provided for specific platforms such as Linux or OpenBSD. Occasionally, we also point out implementation-specific behaviors when these behaviors are of interest.