The Jargon File (version 4.4.7, 29 Dec 2003):
aliasing bug
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.
The Free On-line Dictionary of Computing (30 December 2018):
stale pointer bug
aliasing bug
(Or "aliasing bug") A class of subtle
programming errors that can arise in code that does dynamic
allocation, especially via malloc 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. This bug can be
avoided by never creating aliases for allocated memory, or by
use of a higher-level language, such as Lisp, which
employs a garbage collector.
The term "aliasing bug" 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.
See also smash the stack, fandango on core, memory leak,
memory smash, spam.
[Jargon File]
(1995-05-09)