Undefined behavior

Dereferencing a pointer to variable beyond its lifetime

Copying overlapping memory

Signed integer overflow

Use of an uninitialized variable

Read value of pointer that was freed

Data race

Modify string literal

Using incorrect format specifier in printf

Modifying any object more than once between two sequence points

Passing a null pointer to printf s conversion

Bit shifting using negative counts or beyond the width of the type

Freeing memory twice

Accessing memory beyond allocated chunk

Returning from a function thats declared with Noreturn or noreturn function specifier

Addition or subtraction of pointer not properly bounded

Modifying a const variable using a pointer

Dereferencing a null pointer

Reading an uninitialized object that is not backed by memory

Using fflush on an input stream