aliasing bug

from Jargon File (4.4.4, 14 Aug 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.
    
from The Free On-line Dictionary of Computing (8 July 2008)
stale pointer bug
aliasing bug

   <programming> (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)
    

[email protected]