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.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 | 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.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 |