GitHub
CERT Secure Coding

RuleChecker

This page was automatically generated and should not be edited.

The information on this page was provided by outside contributors and has not been verified by SEI CERT.

The table below can be re-ordered, by clicking column headers.

Tool Version: 25.10

CheckerGuideline
bad-function (AUTOSAR.26.5.1A)MSC50-CPP. Do not use std::rand() for generating pseudorandom numbers
cast-integer-to-enumINT50-CPP. Do not cast to an out-of-range enumeration value
catch-class-by-valueERR61-CPP. Catch exceptions by lvalue reference
class-inconsistent-definitionsDCL60-CPP. Obey the one-definition rule
csa-call-uninitialized-function-pointerEXP53-CPP. Do not read uninitialized memory
csa-call-uninitialized-object-pointerEXP53-CPP. Do not read uninitialized memory
csa-double-freeMEM50-CPP. Do not access freed memory
csa-memory-leakMEM51-CPP. Properly deallocate dynamically allocated resources
csa-mismathced-deallocatorMEM51-CPP. Properly deallocate dynamically allocated resources
csa-placement-newMEM54-CPP. Provide placement new with properly aligned pointers to sufficient storage capacity
csa-stack-address-escapeEXP54-CPP. Do not access an object outside of its lifetime
csa-uninitialized-array-subscriptEXP53-CPP. Do not read uninitialized memory
csa-uninitialized-assignEXP53-CPP. Do not read uninitialized memory
csa-uninitialized-binop-operandEXP53-CPP. Do not read uninitialized memory
csa-uninitialized-branch-conditionEXP53-CPP. Do not read uninitialized memory
csa-uninitialized-returnEXP53-CPP. Do not read uninitialized memory
csa-use-after-freeMEM50-CPP. Do not access freed memory
default-constructionMSC51-CPP. Ensure your random number generator is properly seeded
default-new-overaligned-typeMEM57-CPP. Avoid using default operator new for over-aligned types
definition-duplicateDCL60-CPP. Obey the one-definition rule
delete-with-incomplete-typeEXP57-CPP. Do not cast or delete pointers to incomplete classes
delete-without-noexceptDCL57-CPP. Do not let exceptions escape from destructors or deallocation functions
destructor-without-noexceptDCL57-CPP. Do not let exceptions escape from destructors or deallocation functions
early-catch-allERR51-CPP. Handle all exceptions
exception-caught-by-earlier-handlerERR54-CPP. Catch handlers should order their parameter types from most derived to least derived
exception-handler-member-accessERR53-CPP. Do not reference base classes or class data members in a constructor or destructor function-try-block handler
exception-propagation-outside-catch-allERR51-CPP. Handle all exceptions
external-file-spreadingDCL60-CPP. Obey the one-definition rule
function-ellipsisDCL50-CPP. Do not define a C-style variadic function
include-setjmpERR52-CPP. Do not use setjmp() or longjmp()
include-timeOOP57-CPP. Prefer special member functions and overloaded operators to C Standard Library functions
initializer-list-orderOOP53-CPP. Write constructor member initializers in the canonical order
invalid-noreturnMSC53-CPP. Do not return from a function declared [[noreturn]]
main-function-catch-allERR51-CPP. Handle all exceptions
new-delete-pairwiseDCL54-CPP. Overload allocation and deallocation functions as a pair in the same scope
non-virtual-public-destructor-in-non-final-classOOP52-CPP. Do not delete a polymorphic object without a virtual destructor
operator-new-requirementsMEM55-CPP. Honor replacement dynamic storage management requirements
pointer-qualifier-cast-constEXP55-CPP. Do not access a cv-qualified object through a cv-unqualified type
pointer-qualifier-cast-volatileEXP55-CPP. Do not access a cv-qualified object through a cv-unqualified type
potentially-throwing-static-initializationERR58-CPP. Handle all exceptions thrown before main() begins executing
reserved-identifierDCL51-CPP. Do not declare or define a reserved identifier
return-implicitMSC52-CPP. Value-returning functions must return a value from all exit paths
return-reference-localEXP54-CPP. Do not access an object outside of its lifetime
sizeofEXP52-CPP. Do not rely on side effects in unevaluated operands
stdlib-useERR50-CPP. Do not abruptly terminate the program
stdlib-useOOP57-CPP. Prefer special member functions and overloaded operators to C Standard Library functions
stdlib-use-atoOOP57-CPP. Prefer special member functions and overloaded operators to C Standard Library functions
stdlib-use-getenvOOP57-CPP. Prefer special member functions and overloaded operators to C Standard Library functions
stdlib-use-string-unboundedOOP57-CPP. Prefer special member functions and overloaded operators to C Standard Library functions
stdlib-use-systemOOP57-CPP. Prefer special member functions and overloaded operators to C Standard Library functions
stream-input-char-arraySTR50-CPP. Guarantee that storage for strings has sufficient space for character data and the null terminator
type-compatibilityDCL60-CPP. Obey the one-definition rule
type-file-spreadingDCL60-CPP. Obey the one-definition rule
undefined-externDCL60-CPP. Obey the one-definition rule
undefined-extern-pure-virtualDCL60-CPP. Obey the one-definition rule
unhandled-throw-noexceptERR50-CPP. Do not abruptly terminate the program
unhandled-throw-noexceptERR51-CPP. Handle all exceptions
unhandled-throw-noexceptERR55-CPP. Honor exception specifications
uninitialized-readEXP53-CPP. Do not read uninitialized memory
unnamed-namespace-headerDCL59-CPP. Do not define an unnamed namespace in a header file
virtual-call-in-constructorOOP50-CPP. Do not invoke virtual functions from constructors or destructors