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 |