CERT Standard Compliance

CERT is a secure coding standard that supports C and C++ programming languages. These standards are reliable, safe, and secure for the software systems used.

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