A leak in a program's dynamic store
allocation logic that causes it to fail to reclaim memory in
the heap after it has finished using it, eventually causing
the program to fail due to lack of memory.
These problems were severe on older machines with small,
fixed-size address spaces, and special "leak detection" tools
were written to diagnose them.
The introduction of virtual memory made memory leaks a less
serious problem, although if you run out of virtual
memory, it means you've got a *real* leak!
See aliasing bug.