You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 24 Next »

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: 2023.1

Checker

Guideline

BD-PB-NOTINIT EXP53-CPP. Do not read uninitialized memory
BD-PB-NP OOP55-CPP. Do not use pointer-to-member operators to access nonexistent members
BD-PB-OVERFWR STR50-CPP. Guarantee that storage for strings has sufficient space for character data and the null terminator
BD-PB-OVERF{RD, WR, FMT, NZT} CTR52-CPP. Guarantee that library functions do not overflow
BD-PB-OVERF{RD, WR, FMT, NZT} STR53-CPP. Range check element access
BD-RES-FREE EXP54-CPP. Do not access an object outside of its lifetime
BD-RES-FREE MEM50-CPP. Do not access freed memory
BD-RES-LEAKS FIO51-CPP. Close files when they are no longer needed
BD-RES-LEAKS ERR56-CPP. Guarantee exception safety
BD-RES-LEAKS ERR57-CPP. Do not leak resources when handling exceptions
BD-TRS-DLOCK CON53-CPP. Avoid deadlock by locking in a predefined order
CODSTA-74 DCL59-CPP. Do not define an unnamed namespace in a header file
EXCEPT-13 ERR51-CPP. Handle all exceptions
EXCEPT-14 ERR55-CPP. Honor exception specifications
EXCEPT-16 ERR53-CPP. Do not reference base classes or class data members in a constructor or destructor function-try-block handler
EXCEPT-17 ERR54-CPP. Catch handlers should order their parameter types from most derived to least derived
EXCEPT-18 ERR58-CPP. Handle all exceptions thrown before main() begins executing
INIT-10 OOP53-CPP. Write constructor member initializers in the canonical order
JSF-020 ERR52-CPP. Do not use setjmp() or longjmp()
JSF-114 MSC52-CPP. Value-returning functions must return a value from all exit paths
JSF-117_a OOP51-CPP. Do not slice derived objects
JSF-166 EXP52-CPP. Do not rely on side effects in unevaluated operands
JSF-166_{b,c} EXP52-CPP. Do not rely on side effects in unevaluated operands
JSF-204.1{a,b,c,d,g} EXP50-CPP. Do not depend on the order of evaluation for side effects
MEM-06 MEM51-CPP. Properly deallocate dynamically allocated resources
MEM-12 MEM51-CPP. Properly deallocate dynamically allocated resources
MEM-28 MEM51-CPP. Properly deallocate dynamically allocated resources
MEM-29 MEM51-CPP. Properly deallocate dynamically allocated resources
MISRA2004-16_1 DCL50-CPP. Do not define a C-style variadic function
MISRA2008-15_3_1 ERR58-CPP. Handle all exceptions thrown before main() begins executing
MISRA2008-15_5_2 ERR55-CPP. Honor exception specifications
MISRA2008-17_0_1_a DCL51-CPP. Do not declare or define a reserved identifier
MISRA2008-17_0_1_b DCL51-CPP. Do not declare or define a reserved identifier
MISRA2012-RULE-21_4_{a,b} ERR52-CPP. Do not use setjmp() or longjmp()
MISRA2012-RULE-21_5_b MSC54-CPP. A signal handler must be a plain old function
MRM-14 MEM55-CPP. Honor replacement dynamic storage management requirements
MRM-15 MEM55-CPP. Honor replacement dynamic storage management requirements
MRM-26 DCL54-CPP. Overload allocation and deallocation functions as a pair in the same scope
MRM-27 DCL54-CPP. Overload allocation and deallocation functions as a pair in the same scope
MRM-34 MEM52-CPP. Detect and handle memory allocation errors
OOP-02 OOP51-CPP. Do not slice derived objects
OOP-16 OOP50-CPP. Do not invoke virtual functions from constructors or destructors
OOP-22 OOP52-CPP. Do not delete a polymorphic object without a virtual destructor
OOP-34 OOP54-CPP. Gracefully handle self-copy assignment
PB-10 EXP51-CPP. Do not delete an array through a pointer of the incorrect type
PB-10 CTR56-CPP. Do not use pointer arithmetic on polymorphic objects
PB-54 EXP57-CPP. Do not cast or delete pointers to incomplete classes
PB-55 EXP57-CPP. Do not cast or delete pointers to incomplete classes
Runtime detection EXP51-CPP. Do not delete an array through a pointer of the incorrect type
Runtime detection EXP53-CPP. Do not read uninitialized memory
Runtime detection EXP54-CPP. Do not access an object outside of its lifetime
Runtime detection EXP57-CPP. Do not cast or delete pointers to incomplete classes
Runtime detection MEM50-CPP. Do not access freed memory
Runtime detection MEM51-CPP. Properly deallocate dynamically allocated resources
Runtime detection MEM52-CPP. Detect and handle memory allocation errors
Runtime detection FIO51-CPP. Close files when they are no longer needed
Runtime detection OOP55-CPP. Do not use pointer-to-member operators to access nonexistent members
SECURITY-02 MSC50-CPP. Do not use std::rand() for generating pseudorandom numbers
SECURITY-12 STR50-CPP. Guarantee that storage for strings has sufficient space for character data and the null terminator
STL-02 CTR56-CPP. Do not use pointer arithmetic on polymorphic objects
STL-36 CTR50-CPP. Guarantee that container indices and iterators are within the valid range
STL-36 CTR53-CPP. Use valid iterator ranges
  • No labels