JargonFile/entries/aliasing bug.txt

17 lines
973 B
Plaintext
Raw Normal View History

2014-04-26 10:52:28 -04:00
aliasing bug
2014-04-26 11:54:15 -04:00
n. 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.