CERT is a secure coding standard that supports C/CPP programming languages. These standards are reliable, safe, and secure for the software systems used.
The below table will provide you with insight into currently supported C/CPP security checks.
CERT Tag | Description |
---|---|
CERT-FLP30-C | Do not use floating-point variables as loop counters |
CERT-DCL03-C | Use a static assertion to test the value of a constant expression |
CERT-DCL16-C | Use "L," not "l," to indicate a long value |
CERT-ENV33-C | Do not call system() |
CERT-ERR34-C | Detect errors when converting a string to a number. |
CERT-FIO38-C | Do not copy a FILE object |
CERT-FLP30-C | Do not use floating-point variables as loop counters |
CERT-MSC30-C | Do not use the rand() function for generating pseudorandom numbers |
CERT-MSC32-C | Ensure your random number generator is properly seeded |
CERT-MEM-35-C | Allocate sufficient memory for an object |
CERT-FLP30-CPP | Do not use floating-point variables as loop counters |
CERT-DCL21-CPP | Overloaded postfix increment and decrement operators should return a const object. |
CERTDCL50-CPP | Do not define a C-style variadic function |
CERT-DCL54-CPP | Overload allocation and deallocation functions as a pair in the same scope |
CERT-DCL58-CPP | Do not modify the standard namespaces Skip to end of metadata. |
CERT-DCL59-CPP | Do not define an unnamed namespace in a header file. |
CERT-ERR09-CPP | Catch exceptions by lvalue reference |
CERT-ERR52-CPP | Do not use setjmp() or longjmp(). |
CERT-ERR58-CPP | Handle all exceptions thrown before main() begins executing |
CERT-ERR60-CPP | Exception objects must be nothrow copy constructible |
CERT-ERR61-CPP | Catch exceptions by lvalue reference |
CERT-MSC50-CPP | Do not use std::rand() for generating pseudorandom numbers |
CERT-MSC51-CPP | Ensure your random number generator is properly seeded |
CERT-OOP11-CPP | Do not copy-initialize members or base classes from a move constructor. |
CERT-OOP54-CPP | Gracefully handle a self-copy assignment |