[WEBINAR] Application Acceleration: Faster Performance for End Users

Smash The Stack

Definition - What does Smash The Stack mean?

“Smash the stack” is a slang term for manipulating a program in certain programming languages. It generally refers to attempts to cause changes in random memory access that can produce bugs and problem situations.

Smash the stack is also known as trash the stack, scribble the stack or mangle the stack.

Techopedia explains Smash The Stack

In C and related languages, the stack is an abstract data type that is used to control memory access, for example, in returning variables from one procedure or function to another, or in allocating variables used in functions. Functions and procedures pass variables between each other, and so the contiguous stack, with features such as a pointer, is used to manage this type of dynamic allocation.

In C, “push” and “pop” commands manipulate the stack. Smashing the stack happens when function calls write past the end of an array, which can corrupt the execution stack and cause errors in memory access and the use of memory addresses. This could also be called overflowing the buffer.

Techopedia Deals

Connect with us

Techopedia on Linkedin
Techopedia on Linkedin
"Techopedia" on Twitter

Sign up for Techopedia's Free Newsletter!

Email Newsletter

Join thousands of others with our weekly newsletter

Free Whitepaper: The Path to Hybrid Cloud
Free Whitepaper: The Path to Hybrid Cloud:
The Path to Hybrid Cloud: Intelligent Bursting To Amazon Web Services & Microsoft Azure
Free E-Book: Public Cloud Guide
Free E-Book: Public Cloud Guide:
This white paper is for leaders of Operations, Engineering, or Infrastructure teams who are creating or executing an IT roadmap.
Free Tool: Virtual Health Monitor
Free Tool: Virtual Health Monitor:
Virtual Health Monitor is a free virtualization monitoring and reporting tool for VMware, Hyper-V, RHEV, and XenServer environments.
Free 30 Day Trial – Turbonomic
Free 30 Day Trial – Turbonomic:
Turbonomic delivers an autonomic platform where virtual and cloud environments self-manage in real-time to assure application performance.