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.

[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}]