Checker
|
Guideline
|
---|
ABV.ANY_SIZE_ARRAY
|
CTR50-CPP. Guarantee that container indices and iterators are within the valid range
|
ABV.GENERAL
|
CTR50-CPP. Guarantee that container indices and iterators are within the valid range
|
ABV.STACK
|
CTR50-CPP. Guarantee that container indices and iterators are within the valid range
|
ABV.TAINTED
|
CTR50-CPP. Guarantee that container indices and iterators are within the valid range
|
CL.FFM.ASSIGN
|
EXP54-CPP. Do not access an object outside of its lifetime
|
CL.FFM.COPY
|
EXP54-CPP. Do not access an object outside of its lifetime
|
CL.MLK.VIRTUAL
|
OOP52-CPP. Do not delete a polymorphic object without a virtual destructor
|
CL.SELF-ASSIGN
|
OOP54-CPP. Gracefully handle self-copy assignment
|
CWARN.DTOR.NONVIRT.DELETE
|
OOP52-CPP. Do not delete a polymorphic object without a virtual destructor
|
LOCRET.ARG
|
EXP54-CPP. Do not access an object outside of its lifetime
|
LOCRET.GLOB
|
EXP54-CPP. Do not access an object outside of its lifetime
|
LOCRET.RET
|
EXP54-CPP. Do not access an object outside of its lifetime
|
MISRA.CAST.CONST
|
EXP55-CPP. Do not access a cv-qualified object through a cv-unqualified type
|
MISRA.CAST.PTR.UNRELATED
|
EXP56-CPP. Do not call a function with a mismatched language linkage
|
MISRA.CAST.PTR_TO_INT
|
EXP56-CPP. Do not call a function with a mismatched language linkage
|
MISRA.CATCH.ALL
|
ERR50-CPP. Do not abruptly terminate the program
|
MISRA.CATCH.NOALL
|
ERR54-CPP. Catch handlers should order their parameter types from most derived to least derived
|
MISRA.CATCH.WRONGORD
|
ERR54-CPP. Catch handlers should order their parameter types from most derived to least derived
|
MISRA.CTOR.TRY.NON_STATIC
|
ERR53-CPP. Do not reference base classes or class data members in a constructor or destructor function-try-block handler
|
MISRA.EXPR.PARENS
|
EXP50-CPP. Do not depend on the order of evaluation for side effects
|
MISRA.EXPR.PARENS.INSUFFICIENT
|
EXP50-CPP. Do not depend on the order of evaluation for side effects
|
MISRA.EXPR.PARENS.REDUNDANT
|
EXP50-CPP. Do not depend on the order of evaluation for side effects
|
MISRA.INCR_DECR.OTHER
|
EXP50-CPP. Do not depend on the order of evaluation for side effects
|
MISRA.STDLIB.LONGJMP
|
ERR52-CPP. Do not use setjmp() or longjmp()
|
NNTS.MIGHT
|
STR50-CPP. Guarantee that storage for strings has sufficient space for character data and the null terminator
|
NNTS.TAINTED
|
STR50-CPP. Guarantee that storage for strings has sufficient space for character data and the null terminator
|
PORTING.CAST.PTR
|
EXP56-CPP. Do not call a function with a mismatched language linkage
|
PORTING.CAST.PTR.FLTPNT
|
EXP56-CPP. Do not call a function with a mismatched language linkage
|
PORTING.CAST.PTR.FLTPNT
|
EXP56-CPP. Do not call a function with a mismatched language linkage
|
PORTING.CAST.PTR.SIZE
|
EXP56-CPP. Do not call a function with a mismatched language linkage
|
PORTING.CAST.SIZE
|
EXP56-CPP. Do not call a function with a mismatched language linkage
|
PORTING.VAR.EFFECTS
|
EXP50-CPP. Do not depend on the order of evaluation for side effects
|
RH.LEAK
|
FIO51-CPP. Close files when they are no longer needed
|
SV.TAINTED.ALLOC_SIZE
|
CTR50-CPP. Guarantee that container indices and iterators are within the valid range
|
SV.TAINTED.CALL.INDEX_ACCESS
|
CTR50-CPP. Guarantee that container indices and iterators are within the valid range
|
SV.TAINTED.CALL.LOOP_BOUND
|
CTR50-CPP. Guarantee that container indices and iterators are within the valid range
|
SV.TAINTED.INDEX_ACCESS
|
CTR50-CPP. Guarantee that container indices and iterators are within the valid range
|
UFM.DEREF.MIGHT
|
EXP54-CPP. Do not access an object outside of its lifetime
|
UFM.DEREF.MIGHT
|
MEM50-CPP. Do not access freed memory
|
UFM.DEREF.MUST
|
EXP54-CPP. Do not access an object outside of its lifetime
|
UFM.DEREF.MUST
|
MEM50-CPP. Do not access freed memory
|
UFM.FFM.MIGHT
|
EXP54-CPP. Do not access an object outside of its lifetime
|
UFM.FFM.MUST
|
EXP54-CPP. Do not access an object outside of its lifetime
|
UFM.PARAMPASS.MIGHT
|
MEM50-CPP. Do not access freed memory
|
UFM.PARAMPASS.MUST
|
MEM50-CPP. Do not access freed memory
|
UFM.RETURN.MIGHT
|
EXP54-CPP. Do not access an object outside of its lifetime
|
UFM.RETURN.MIGHT
|
MEM50-CPP. Do not access freed memory
|
UFM.RETURN.MUST
|
EXP54-CPP. Do not access an object outside of its lifetime
|
UFM.RETURN.MUST
|
MEM50-CPP. Do not access freed memory
|
UFM.USE.MIGHT
|
EXP54-CPP. Do not access an object outside of its lifetime
|
UFM.USE.MIGHT
|
MEM50-CPP. Do not access freed memory
|
UFM.USE.MUST
|
EXP54-CPP. Do not access an object outside of its lifetime
|
UFM.USE.MUST
|
MEM50-CPP. Do not access freed memory
|
UNINIT.CTOR.MIGHT
|
EXP53-CPP. Do not read uninitialized memory
|
UNINIT.CTOR.MUST
|
EXP53-CPP. Do not read uninitialized memory
|
UNINIT.HEAP.MIGHT
|
EXP53-CPP. Do not read uninitialized memory
|
UNINIT.HEAP.MIGHT
|
EXP54-CPP. Do not access an object outside of its lifetime
|
UNINIT.HEAP.MUST
|
EXP53-CPP. Do not read uninitialized memory
|
UNINIT.HEAP.MUST
|
EXP54-CPP. Do not access an object outside of its lifetime
|
UNINIT.STACK.ARRAY.MIGHT
|
EXP53-CPP. Do not read uninitialized memory
|
UNINIT.STACK.ARRAY.MIGHT
|
EXP54-CPP. Do not access an object outside of its lifetime
|
UNINIT.STACK.ARRAY.MUST
|
EXP53-CPP. Do not read uninitialized memory
|
UNINIT.STACK.ARRAY.MUST
|
EXP54-CPP. Do not access an object outside of its lifetime
|
UNINIT.STACK.ARRAY.PARTIAL.MUST
|
EXP53-CPP. Do not read uninitialized memory
|
UNINIT.STACK.ARRAY.PARTIAL.MUST
|
EXP54-CPP. Do not access an object outside of its lifetime
|
UNINIT.STACK.MIGHT
|
EXP53-CPP. Do not read uninitialized memory
|
UNINIT.STACK.MIGHT
|
EXP54-CPP. Do not access an object outside of its lifetime
|
UNINIT.STACK.MUST
|
EXP53-CPP. Do not read uninitialized memory
|
UNINIT.STACK.MUST
|
EXP54-CPP. Do not access an object outside of its lifetime
|