From Wikipedia, the free encyclopedia.
Memory leaks are a consequence of a common error in programming, especially when programming in languages that have no garbage collection.
Memory leaks occur when a program (thanks to an error made by the programmer) fails to release previously allocated computer memory to the system handling physical memory when it is no longer needed. It is usually a component of the operating system which is responsible for managing memory, and so the result of this error is usually an ever growing amount of memory being used by the system as a whole, not merely the erronious process/program. Eventually, all (or 'too much') of the available memory has been allocated (and not returned) and the entire system (or critical subsystems) will stop working correctly.
This is a common problem of C and C++ due primarily to their reliance on pointer operations which are insufficiently carefully designed), so many tools and utilities exist to help detect these problems in C. Few if any would have been needed had more care been given to this point in the design of these languages.

