100: undefined value.
110: pointer problems.
200: arithmetic problems.
300: out of bound problems.
400: memory management problems.
|100||An operand of a binary operator has undefined value.|
|101||A branch condition has undefined value.|
|103||A pointer is undefined|
|104||Return an undefined value.|
|105||Call an undefined function pointer.|
|106||An argument has undefined value.|
|107||An array index has undefined value.|
|110||Dereference A NULL pointer.|
|111||Call a NULL function pointer.|
|112||Pass a NULL pointer to a parameter that has non-null attribute.|
|113||Store to read-only memory.|
|114||Cast a memory block whose size is not a multiple of the destination type size.|
|115||The destination type size is larger than the original memory block size.|
|116||Return stack address.|
|117||A stack address was saved into a global variable, which will be invalid after the function call exits.|
|200||The amount of shift is negative or greater than the width of the promoted left operand.|
|201||Division by zero.|
|202||INT_MIN / or % (-1) has undefined behavior in C99.|
|210||Cast a pointer to int may lose information on 64-bit platforms.|
|211||Cast an integer to a type with fewer bits may lose data.|
|212||The types have the same width. But the original value is out of the range that can be represented by the new type.|
|220||Signed integer overflow occured during arithmetic operations.|
|230||Bitwise-or with a non-zero constant is always true.|
|300||Access out of bound memory with a pointer or array index.|
|301||The buffer is overrun by some API.|
|401||Free an object that has been freed.|
|402||Free an non-heap memory object.|
|403||Use a memory object after it is freed.|
|404||The size passed to malloc() or realloc() is not greater than 0.|
|500||C++ this pointer is NULL.|