GitHub
CERT Secure Coding

LDRA

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

CheckerGuideline
1 JEXP54-CPP. Do not access an object outside of its lifetime
1 QEXP50-CPP. Do not depend on the order of evaluation for side effects
2 DMSC52-CPP. Value-returning functions must return a value from all exit paths
6 DDCL56-CPP. Avoid cycles during initialization of static objects
9 SEXP50-CPP. Do not depend on the order of evaluation for side effects
35 DEXP50-CPP. Do not depend on the order of evaluation for side effects
36 SMSC52-CPP. Value-returning functions must return a value from all exit paths
41 SDCL50-CPP. Do not define a C-style variadic function
42 DEXP54-CPP. Do not access an object outside of its lifetime
43 SERR52-CPP. Do not use setjmp() or longjmp()
44 SOOP57-CPP. Prefer special member functions and overloaded operators to C Standard Library functions
44 SMSC50-CPP. Do not use std::rand() for generating pseudorandom numbers
45 DCTR50-CPP. Guarantee that container indices and iterators are within the valid range
45 DMEM52-CPP. Detect and handle memory allocation errors
47 SCTR50-CPP. Guarantee that container indices and iterators are within the valid range
50 DERR57-CPP. Do not leak resources when handling exceptions
53 DEXP53-CPP. Do not read uninitialized memory
53 DEXP54-CPP. Do not access an object outside of its lifetime
54 SEXP52-CPP. Do not rely on side effects in unevaluated operands
56 DERR55-CPP. Honor exception specifications
56 DERR56-CPP. Guarantee exception safety
64 DMEM51-CPP. Properly deallocate dynamically allocated resources
64 XCTR50-CPP. Guarantee that container indices and iterators are within the valid range
66 XCTR50-CPP. Guarantee that container indices and iterators are within the valid range
66 XSTR50-CPP. Guarantee that storage for strings has sufficient space for character data and the null terminator
67 DEXP50-CPP. Do not depend on the order of evaluation for side effects
68 XCTR50-CPP. Guarantee that container indices and iterators are within the valid range
69 DEXP53-CPP. Do not read uninitialized memory
69 XCTR50-CPP. Guarantee that container indices and iterators are within the valid range
70 SCTR54-CPP. Do not subtract iterators that do not refer to the same container
70 XCTR50-CPP. Guarantee that container indices and iterators are within the valid range
70 XSTR50-CPP. Guarantee that storage for strings has sufficient space for character data and the null terminator
71 DERR56-CPP. Guarantee exception safety
71 SEXP54-CPP. Do not access an object outside of its lifetime
71 XCTR50-CPP. Guarantee that container indices and iterators are within the valid range
71 XSTR50-CPP. Guarantee that storage for strings has sufficient space for character data and the null terminator
72 DEXP50-CPP. Do not depend on the order of evaluation for side effects
77 DEXP54-CPP. Do not access an object outside of its lifetime
79 XCTR50-CPP. Guarantee that container indices and iterators are within the valid range
86 SDCL51-CPP. Do not declare or define a reserved identifier
87 SCTR54-CPP. Do not subtract iterators that do not refer to the same container
92 DOOP50-CPP. Do not invoke virtual functions from constructors or destructors
112 DMEM51-CPP. Properly deallocate dynamically allocated resources
122 SERR50-CPP. Do not abruptly terminate the program
133 SEXP52-CPP. Do not rely on side effects in unevaluated operands
134 SEXP50-CPP. Do not depend on the order of evaluation for side effects
169 SEXP57-CPP. Do not cast or delete pointers to incomplete classes
203 SEXP55-CPP. Do not access a cv-qualified object through a cv-unqualified type
206 SOOP53-CPP. Write constructor member initializers in the canonical order
218 SDCL51-CPP. Do not declare or define a reserved identifier
219 SDCL51-CPP. Do not declare or define a reserved identifier
232 SMEM51-CPP. Properly deallocate dynamically allocated resources
236 SMEM51-CPP. Properly deallocate dynamically allocated resources
239 SMEM51-CPP. Properly deallocate dynamically allocated resources
242 SEXP55-CPP. Do not access a cv-qualified object through a cv-unqualified type
286 SDCL59-CPP. Do not define an unnamed namespace in a header file
286 SDCL60-CPP. Obey the one-definition rule
287 SDCL60-CPP. Obey the one-definition rule
296 SDCL53-CPP. Do not write syntactically ambiguous declarations
303 SOOP52-CPP. Do not delete a polymorphic object without a virtual destructor
344 SEXP55-CPP. Do not access a cv-qualified object through a cv-unqualified type
407 SMEM51-CPP. Properly deallocate dynamically allocated resources
437 SCTR54-CPP. Do not subtract iterators that do not refer to the same container
438 SCTR54-CPP. Do not subtract iterators that do not refer to the same container
453 SDCL57-CPP. Do not let exceptions escape from destructors or deallocation functions
455 SERR61-CPP. Catch exceptions by lvalue reference
467 SOOP50-CPP. Do not invoke virtual functions from constructors or destructors
469 SMEM51-CPP. Properly deallocate dynamically allocated resources
470 SMEM51-CPP. Properly deallocate dynamically allocated resources
476 SCTR50-CPP. Guarantee that container indices and iterators are within the valid range
483 SMEM50-CPP. Do not access freed memory
483 SMEM51-CPP. Properly deallocate dynamically allocated resources
484 SMEM50-CPP. Do not access freed memory
484 SMEM51-CPP. Properly deallocate dynamically allocated resources
485 SMEM51-CPP. Properly deallocate dynamically allocated resources
489 SCTR50-CPP. Guarantee that container indices and iterators are within the valid range
489 SSTR50-CPP. Guarantee that storage for strings has sufficient space for character data and the null terminator
512 SDCL59-CPP. Do not define an unnamed namespace in a header file
527 SERR51-CPP. Handle all exceptions
527 SERR56-CPP. Guarantee exception safety
541 SERR54-CPP. Catch handlers should order their parameter types from most derived to least derived
549 SERR53-CPP. Do not reference base classes or class data members in a constructor or destructor function-try-block handler
554 SEXP57-CPP. Do not cast or delete pointers to incomplete classes
556 SERR54-CPP. Catch handlers should order their parameter types from most derived to least derived
565 SEXP54-CPP. Do not access an object outside of its lifetime
567 SCTR55-CPP. Do not use an additive operator on an iterator if the result would overflow
567 SCTR56-CPP. Do not use pointer arithmetic on polymorphic objects
580 SDCL51-CPP. Do not declare or define a reserved identifier
597 SMEM54-CPP. Provide placement new with properly aligned pointers to sufficient storage capacity
618 SEXP62-CPP. Do not access the bits of an object representation that are not part of the object's value representation
631 SEXP53-CPP. Do not read uninitialized memory
652 SEXP53-CPP. Do not read uninitialized memory