资料来源 : Free On-Line Dictionary of Computing
stale pointer 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)