Data Flow Analysis
- Allocations of memory that were not released
Reports memory allocations (using either 'new' or 'malloc()') that were not released before becoming inaccessible.
- Array access expressions where index may be out of bounds
Reports array or pointer variable access expressions where index may be out of bounds of an array or allocated buffer.
- Conditions that are always true or false
Reports conditions that are always true or false and expressions whose value is statically proven to be constant.
- Dataflow inspection timed out
Dataflow inspection has reached the time or memory limit and cannot be evaluated in either context-sensitive or context-insensitive mode.
- Dereferences of pointers that may contain nullptr
Reports dereferences of pointers that may contain nullptr.
- Endless loop statements
Reports 'for', 'while', 'do-while', and 'goto' statements that exit only by throwing an exception.
- Fields that may have not been initialized before their usage
Reports fields that may not have been initialized before being used.
- Function parameters that always have the same value
Reports function parameters that always have the same value.
- Functions that call themselves infinitely
Reports functions that call themselves infinitely unless an exception is thrown.
- Functions whose calls are never used
Reports functions whose calls are never used.
- Functions whose return value is always the same constant
Reports functions where the return value is always the same constant.
- Local variables that are declared but never accessed for reading
Reports local variables that are declared but never accessed for reading.
- Loop conditions that are not updated inside the loop
Reports loop conditions that are not updated inside the loop.
- References to local values that escape the function
Reports references to local values that escape the function through returns, assignments to global variables, or fields.
- References to local variables that escape their scope
Reports variables with references to the local variables that escape their scope.
- References to the contents of invalidated containers
Reports references to the contents of invalidated containers.
- Unreachable code
Reports code pieces that are never executed in any control flow and can be removed safely.
- Usages of pointers that refer to deleted memory
Reports usages of pointers that refer to memory already deleted by the delete operator or the free(void* ptr) function.
- Variable values that are never used after being assigned
Reports variable values that are never used after being assigned.