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:

    We have almost succeeded in leveling all human activities to the common denominator of securing the necessities of life and providing for their abundance.
    Hannah Arendt (1906–1975)

    The errors of the observer come from the qualities of the human mind.
    Johann Wolfgang Von Goethe (1749–1832)