memory leak


memory leak

(programming)A leak in a program's dynamic storeallocation logic that causes it to fail to reclaim memory inthe heap after it has finished using it, eventually causingthe 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" toolswere written to diagnose them.

The introduction of virtual memory made memory leaks a lessserious problem, although if you run out of virtual memory, it means you've got a *real* leak!

See aliasing bug.

memory leak

A condition caused by a program that does not free up the extra memory it allocates. In programming languages, such as C/C++, the programmer can dynamically allocate additional memory to hold data and variables that are required for the moment, but not used throughout the program. When those memory areas are no longer needed, the programmer must remember to deallocate them.

When memory is allocated, but not deallocated, a memory leak occurs (the memory has leaked out of the computer). If too many memory leaks occur, they can usurp all of memory and bring everything to a halt or slow the processing considerably. In other environments, such as Java, the operating system allocates and deallocates memory automatically. Specifically allocating and deallocating memory, while error prone (in case one forgets to deallocate), allows the programmer more control over the computer's resources. See garbage collection.