The pointer itself is stored on the stack so it cannot be freed.
It simply frees the entire memory block that the pointer points to.