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.

Advertisements

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.

Advertisements

Related Terms

Latest Software Development Terms

Related Reading

Margaret Rouse

Margaret Rouse is an award-winning technical writer and teacher known for her ability to explain complex technical subjects to a non-technical, business audience. Over the past twenty years her explanations have appeared on TechTarget websites and she's been cited as an authority in articles by the New York Times, Time Magazine, USA Today, ZDNet, PC Magazine and Discovery Magazine.Margaret's idea of a fun day is helping IT and business professionals learn to speak each other’s highly specialized languages. If you have a suggestion for a new definition or how to improve a technical explanation, please email Margaret or contact her…