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 |