Thursday, February 20, 2014

Stack Overflow


In software, a stack overflow occurs when the stack pointer exceeds the stack bound. The call stack may consist of a limited amount of address space, often determined at the start of the program. The size of the call stack depends on many factors, including the programming language, machine architecture, multi-threading, and amount of available memory. When a program attempts to use more space than is available on the call stack (that is, wen it attempts to access memory beyond the call stack's bounds, which is essentially a buffer overflow), the static is said to overflow, typically resulting in a program crash.