Wikipedia

Storage violation

In computing a storage violation is a hardware or software fault that occurs when a task attempts to access an area of computer storage which it is not permitted to access.

Types of storage violation

Storage violation can, for instance, consist of reading from, writing to, or freeing storage not owned by the task. A common type of storage violation is known as a stack buffer overflow where a program attempts to exceed the limits set for its call stack. It can also refer to attempted modification of memory "owned" by another thread where there is incomplete (or no) memory protection.

Avoidance of storage violations

Storage violations can occur in transaction systems such as CICS in circumstances where it is possible to write to storage not owned by the transaction; such violations can be reduced by enabling features such as storage protection and transaction isolation.

Detection of storage violations

Storage violations can be difficult to detect as a program can often run for a period of time after the violation before it crashes. For example, a pointer to a freed area of memory can be retained and later reused causing an error. As a result, efforts focus on detecting violations as they occur, rather than later when the problem is observed.

In systems such as CICS, storage violations are sometimes detected (by the CICS kernel) by the use of "signatures", which can be tested to see if they have been overlaid.

An alternative runtime library may be used to better detect storage violations, at the cost of additional overhead.[1] Some programming languages use software bounds checking to prevent these occurrences.

Some program debugging software will also detect violations during testing.

Common causes

  • A runaway subscript leading to illegal use of reference modification during run time.
  • Linkage layout mismatch between called and the calling elements.
  • Use of previously freed (and sometimes already re-allocated) memory.

Examples of software detecting storage violations

  • Intertest originally from Online Software International, later Computer Associates

See also

References

  1. ^ "Debug Malloc Library". Dmalloc - Debug Malloc Library. Retrieved 2017-04-26.

External links


This article is copied from an article on Wikipedia® - the free encyclopedia created and edited by its online user community. The text was not checked or edited by anyone on our staff. Although the vast majority of Wikipedia® encyclopedia articles provide accurate and timely information, please do not assume the accuracy of any particular article. This article is distributed under the terms of GNU Free Documentation License.

Copyright © 2003-2025 Farlex, Inc Disclaimer
All content on this website, including dictionary, thesaurus, literature, geography, and other reference data is for informational purposes only. This information should not be considered complete, up to date, and is not intended to be used in place of a visit, consultation, or advice of a legal, medical, or any other professional.