100: undefined value.
110: pointer problems.
200: arithmetic problems.
300: out of bound problems.
400: memory management problems.
ID | Bug Types |
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. |
400 | Memory leak. |
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. |