GitHub
CERT Secure Coding

Astrée

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
assert_failureSTR51-CPP. Do not attempt to create a std::string from a null pointer
assert_failureSTR53-CPP. Range check element access
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
dangling_pointer_useEXP54-CPP. Do not access an object outside of its lifetime
dangling_pointer_useMEM50-CPP. Do not access freed memory
dangling_pointer_useMEM51-CPP. Properly deallocate dynamically allocated resources
dangling_pointer_useMEM56-CPP. Do not store an already-owned pointer value in an unrelated smart pointer
dangling_pointer_useOOP54-CPP. Gracefully handle self-copy assignment
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]]
invalid_dynamic_memory_allocationMEM51-CPP. Properly deallocate dynamically allocated resources
invalid_function_pointerOOP50-CPP. Do not invoke virtual functions from constructors or destructors
invalid_function_pointerOOP55-CPP. Do not use pointer-to-member operators to access nonexistent members
invalid_pointer_comparisonCTR54-CPP. Do not subtract iterators that do not refer to the same container
invalid_pointer_dereferenceEXP61-CPP. A lambda object must not outlive any of its reference captured objects
invalid_pointer_dereferenceEXP62-CPP. Do not access the bits of an object representation that are not part of the object's value representation
invalid_pointer_dereferenceCTR52-CPP. Guarantee that library functions do not overflow
invalid_pointer_subtractionCTR54-CPP. Do not subtract iterators that do not refer to the same container
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
overflow_upon_dereferenceCTR50-CPP. Guarantee that container indices and iterators are within the valid range
overflow_upon_dereferenceCTR51-CPP. Use valid references, pointers, and iterators to reference elements of a container
overflow_upon_dereferenceCTR53-CPP. Use valid iterator ranges
overflow_upon_dereferenceOOP55-CPP. Do not use pointer-to-member operators to access nonexistent members
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
read_write_data_raceCON52-CPP. Prevent data races when accessing bit-fields from multiple threads
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
uninitialized_variable_useEXP62-CPP. Do not access the bits of an object representation that are not part of the object's value representation
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
write_write_data_raceCON52-CPP. Prevent data races when accessing bit-fields from multiple threads