use-after-free
Using heap memory through a pointer after that memory has been freed; the program may read garbage, corrupt another object or crash later.
A use-after-free is a read or write through a dangling pointer to a freed heap block; because the allocator may have reused the block for another object, the effect depends on allocation history and often appears far from the bug.
Examples
delete p; p->x = 1;writes to memory the allocator may already have given to someone else.
See also