C Dynamic Memory Allocation - Common Errors

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 free leads 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 using free. Failures to adhere to this pattern, such as memory usage after a call to free or before a call to malloc, calling free twice ("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:

    Society cannot share a common communication system so long as it is split into warring factions.
    Bertolt Brecht (1898–1956)

    Let us pardon him his hope of a vain apocalypse, and of a second coming in great triumph upon the clouds of heaven. Perhaps these were the errors of others rather than his own; and if it be true that he himself shared the general illusion, what matters it, since his dream rendered him strong against death, and sustained him in a struggle to which he might otherwise have been unequal?
    Ernest Renan (1823–1892)