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.SIZEOF.SIDE_EFFECT | EXP52-CPP. Do not rely on side effects in unevaluated operands |
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 MIGHT | EXP54 MEM50-CPP. Do not access an object outside of its lifetime freed memory |
UFM.PARAMPASSFFM.MIGHT MUST | MEM50 EXP54-CPP. Do not access freed memory an object outside of its lifetime |
UFM.PARAMPASSFFM.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 |