Versions Compared

Key

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

...

Checker

Guideline

ALLOC.FNH MEM51-CPP. Properly deallocate dynamically allocated resources
ALLOC.LEAK FIO51-CPP. Close files when they are no longer needed
ALLOC.LEAK ERR57-CPP. Do not leak resources when handling exceptions
ALLOC.TM MEM51-CPP. Properly deallocate dynamically allocated resources
ALLOC.UAF EXP54-CPP. Do not access an object outside of its lifetime
ALLOC.UAF MEM50-CPP. Do not access freed memory
BADFUNC.ABORT ERR50-CPP. Do not abruptly terminate the program
BADFUNC.ATOF ERR62-CPP. Detect errors when converting a string to a number
BADFUNC.ATOF ERR62-CPP. Detect errors when converting a string to a number
BADFUNC.ATOF ERR62-CPP. Detect errors when converting a string to a number
BADFUNC.ATOI ERR62-CPP. Detect errors when converting a string to a number
BADFUNC.BO.* CTR52-CPP. Guarantee that library functions do not overflow
BADFUNC.EXIT ERR50-CPP. Do not abruptly terminate the program
BADFUNC.LONGJMP ERR52-CPP. Do not use setjmp() or longjmp()
BADFUNC.RANDOM.RAND MSC50-CPP. Do not use std::rand() for generating pseudorandom numbers
BADFUNC.SETJMP ERR52-CPP. Do not use setjmp() or longjmp()
CONCURRENCY.LOCK.ORDER CON53-CPP. Avoid deadlock by locking in a predefined order
IO.UAC EXP54-CPP. Do not access an object outside of its lifetime
LANG.CAST.PC.INC EXP57-CPP. Do not cast or delete pointers to incomplete classes
LANG.ID.NU.MK DCL51-CPP. Do not declare or define a reserved identifier
LANG.MEM.BO CTR50-CPP. Guarantee that container indices and iterators are within the valid range
LANG.MEM.BO CTR52-CPP. Guarantee that library functions do not overflow
LANG.MEM.BO STR50-CPP. Guarantee that storage for strings has sufficient space for character data and the null terminator
LANG.MEM.BO STR53-CPP. Range check element access
LANG.MEM.BU CTR50-CPP. Guarantee that container indices and iterators are within the valid range
LANG.MEM.BU STR53-CPP. Range check element access
LANG.MEM.TBA CTR50-CPP. Guarantee that container indices and iterators are within the valid range
LANG.MEM.TBA STR53-CPP. Range check element access
LANG.MEM.TO CTR50-CPP. Guarantee that container indices and iterators are within the valid range
LANG.MEM.TO STR50-CPP. Guarantee that storage for strings has sufficient space for character data and the null terminator
LANG.MEM.TO STR53-CPP. Range check element access
LANG.MEM.TU CTR50-CPP. Guarantee that container indices and iterators are within the valid range
LANG.MEM.TU STR53-CPP. Range check element access
LANG.MEM.UVAR EXP53-CPP. Do not read uninitialized memory
LANG.STRUCT.DECL.RESERVED DCL51-CPP. Do not declare or define a reserved identifier
LANG.STRUCT.DEF.FDH DCL60-CPP. Obey the one-definition rule
LANG.STRUCT.DEF.ODH DCL60-CPP. Obey the one-definition rule
LANG.STRUCT.ELLIPSIS DCL50-CPP. Do not define a C-style variadic function
LANG.STRUCT.MRS MSC52-CPP. Value-returning functions must return a value from all exit paths
LANG.STRUCT.PBB CTR50-CPP. Guarantee that container indices and iterators are within the valid range
LANG.STRUCT.PPE CTR50-CPP. Guarantee that container indices and iterators are within the valid range
LANG.STRUCT.RPL EXP53-CPP. Do not read uninitialized memory
MISC.MEM.NTERM STR50-CPP. Guarantee that storage for strings has sufficient space for character data and the null terminator