Share on Facebook Share on Twitter Email
Answers.com

Stale pointer bug

 
Hacker Slang: aliasing bug

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.


Search unanswered questions...
Enter a question here...
Search: All sources Community Q&A Reference topics
Wikipedia: Stale pointer bug
Top

A stale pointer bug, otherwise known as an aliasing bug, is a class of subtle programming errors that can arise in code that does dynamic memory allocation, especially via the malloc function 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, by controlling the dynamic scope of references to the storage so that none can remain when it is freed, or by use of a garbage collector, in the form of an intelligent memory-allocation library or as provided by higher-level languages, such as Lisp.

The term "aliasing bug" is nowadays associated with C programming, but it was already in use in a very similar sense in the ALGOL 60 and Fortran programming language communities in the 1960s.

See also

This article was originally based on material from the Free On-line Dictionary of Computing, which is licensed under the GFDL.


 
 
Learn More
List of computing topics

What are pointers? Read answer...
What are the Pointers? Read answer...
What is a stale cheque? Read answer...

Help us answer these
What is the oppisite of stale?
What is a this pointer?
What is the staling process?

Post a question - any question - to the WikiAnswers community:

 

Copyrights:

Hacker Slang. The Jargon File. Copyright © 2007.  Read more
Wikipedia. This article is licensed under the Creative Commons Attribution/Share-Alike License. It uses material from the Wikipedia article "Stale pointer bug" Read more