### Question 7.19

My program is crashing, apparently somewhere down inside `malloc`, but I can't see anything wrong with it.

It is unfortunately very easy to corrupt `malloc`'s internal data structures, and the resulting problems can be stubborn. The most common source of problems is writing more to a `malloc`'ed region than it was allocated to hold; a particularly common bug is to `malloc(strlen(s))` instead of `strlen(s) + 1`. Other problems may involve using pointers to freed storage, `free`ing pointers twice, `free`ing pointers not obtained from `malloc`, or trying to `realloc` a null pointer (see question 7.30).

See also questions 7.26, 16.8, and 18.2.

Read sequentially: prev next up top

This page by Steve Summit // Copyright 1995 // mail feedback