Common Errors
The improper use of dynamic memory allocation can frequently be a source of bugs.
Most common errors are as follows:
- Not checking for allocation failures. Memory allocation is not guaranteed to succeed. If there's no check for successful allocation implemented, this usually leads to a crash of the program or the entire system.
- Memory leaks. Failure to deallocate memory using
freeleads to buildup of memory that is non-reusable memory, which is no longer used by the program. This wastes memory resources and can lead to allocation failures when these resources are exhausted. - Logical errors. All allocations must follow the same pattern: allocation using
malloc, usage to store data, deallocation usingfree. Failures to adhere to this pattern, such as memory usage after a call tofreeor before a call tomalloc, callingfreetwice ("double free"), etc., usually leads to a crash of the program.
Read more about this topic: C Dynamic Memory Allocation
Famous quotes containing the words common and/or errors:
“Farmers in overalls and wide-brimmed straw hats lounge about the store on hot summer days, when the most common sound is the thump-thump-thump of a hounds leg on the floor as he scratches contentedly. Oldtime hunters say that fleas are a hounds salvation: his constant twisting and clawing in pursuit of the tormentors keeps his joints supple.”
—Administration in the State of Arka, U.S. public relief program (1935-1943)
“The weak have one weapon: the errors of those who think they are strong.”
—Georges Bidault (18991983)