Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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