A class of subtle programming errors that can arise in code that does
dynamic allocation, esp. via malloc(3) or equivalent. If several
pointers address (are aliases for) a given hunk of storage, it may
happen that the storage is freed or reallocated (and thus moved)
through one alias and then referenced through another, which may lead
to subtle (and possibly intermittent) lossage depending on the state
and the allocation history of the malloc {arena}. Avoidable by use of
allocation strategies that never alias allocated core, or by use of
higher-level languages, such as {LISP}, which employ a garbage
collector (see {GC}). Also called a {stale pointer bug}. See also
{precedence lossage}, {smash the stack}, {fandango on core}, {memory
leak}, {memory smash}, {overrun screw}, {spam}.
Historical note: Though this term is nowadays associated with C
programming, it was already in use in a very similar sense in the
Algol-60 and FORTRAN communities in the 1960s.
[glossary]
[Reference(s) to this entry by made by: {arena}{fandango on core}{handle}{memory leak}{overrun screw}{precedence lossage}{smash the stack}{stale pointer bug}]