Checker
|
Guideline
|
---|
CertC++-CON52
|
CON52-CPP. Prevent data races when accessing bit-fields from multiple threads
|
CertC++-CTR56
|
CTR56-CPP. Do not use pointer arithmetic on polymorphic objects
|
CertC++-DCL50
|
DCL50-CPP. Do not define a C-style variadic function
|
CertC++-DCL51
|
DCL51-CPP. Do not declare or define a reserved identifier
|
CertC++-DCL52
|
DCL52-CPP. Never qualify a reference type with const or volatile
|
CertC++-DCL54
|
DCL54-CPP. Overload allocation and deallocation functions as a pair in the same scope
|
CertC++-DCL55
|
DCL55-CPP. Avoid information leakage when passing a class object across a trust boundary
|
CertC++-DCL57
|
DCL57-CPP. Do not let exceptions escape from destructors or deallocation functions
|
CertC++-DCL58
|
DCL58-CPP. Do not modify the standard namespaces
|
CertC++-DCL59
|
DCL59-CPP. Do not define an unnamed namespace in a header file
|
CertC++-DCL60
|
DCL60-CPP. Obey the one-definition rule
|
CertC++-ERR51
|
ERR51-CPP. Handle all exceptions
|
CertC++-ERR52
|
ERR52-CPP. Do not use setjmp() or longjmp()
|
CertC++-ERR53
|
ERR53-CPP. Do not reference base classes or class data members in a constructor or destructor function-try-block handler
|
CertC++-ERR54
|
ERR54-CPP. Catch handlers should order their parameter types from most derived to least derived
|
CertC++-ERR55
|
ERR55-CPP. Honor exception specifications
|
CertC++-ERR58
|
ERR58-CPP. Handle all exceptions thrown before main() begins executing
|
CertC++-ERR61
|
ERR61-CPP. Catch exceptions by lvalue reference
|
CertC++-ERR62
|
ERR62-CPP. Detect errors when converting a string to a number
|
CertC++-EXP50
|
EXP50-CPP. Do not depend on the order of evaluation for side effects
|
CertC++-EXP52
|
EXP52-CPP. Do not rely on side effects in unevaluated operands
|
CertC++-EXP55
|
EXP55-CPP. Do not access a cv-qualified object through a cv-unqualified type
|
CertC++-EXP59
|
EXP59-CPP. Use offsetof() on valid types and members
|
CertC++-FIO50
|
FIO50-CPP. Do not alternately input and output from a file stream without an intervening positioning call
|
CertC++-INT50
|
INT50-CPP. Do not cast to an out-of-range enumeration value
|
CertC++-MEM50
|
MEM50-CPP. Do not access freed memory
|
CertC++-MEM51
|
MEM51-CPP. Properly deallocate dynamically allocated resources
|
CertC++-MEM54
|
MEM54-CPP. Provide placement new with properly aligned pointers to sufficient storage capacity
|
CertC++-MEM56
|
MEM56-CPP. Do not store an already-owned pointer value in an unrelated smart pointer
|
CertC++-MSC50
|
MSC50-CPP. Do not use std::rand() for generating pseudorandom numbers
|
CertC++-MSC51
|
MSC51-CPP. Ensure your random number generator is properly seeded
|
CertC++-MSC52
|
MSC52-CPP. Value-returning functions must return a value from all exit paths
|
CertC++-MSC53
|
MSC53-CPP. Do not return from a function declared [[noreturn]]
|
CertC++-OOP50
|
OOP50-CPP. Do not invoke virtual functions from constructors or destructors
|
CertC++-OOP52
|
OOP52-CPP. Do not delete a polymorphic object without a virtual destructor
|
CertC++-OOP53
|
OOP53-CPP. Write constructor member initializers in the canonical order
|
CertC++-OOP55
|
OOP55-CPP. Do not use pointer-to-member operators to access nonexistent members
|