Don't miss an insight. Subscribe to Techopedia for free.


Smash The Stack

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.


Related Terms