JargonFile/original/html/S/smash-the-stack.html
2014-03-27 18:54:56 +00:00

14 lines
2.7 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>smash the stack</title><link rel="stylesheet" href="../../jargon.css" type="text/css"/><meta name="generator" content="DocBook XSL Stylesheets V1.61.0"/><link rel="home" href="../index.html" title="The Jargon File"/><link rel="up" href="../S.html" title="S"/><link rel="previous" href="smash-case.html" title="smash case"/><link rel="next" href="smiley.html" title="smiley"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">smash the stack</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="smash-case.html">Prev</a> </td><th width="60%" align="center">S</th><td width="20%" align="right"> <a accesskey="n" href="smiley.html">Next</a></td></tr></table><hr/></div><dt><a id="smash-the-stack"/><dt xmlns="" id="smash-the-stack"><b>smash the stack</b>: <span xmlns="http://www.w3.org/1999/xhtml" class="grammar">n.</span></dt></dt><dd><p> [C programming] To corrupt the execution stack by writing past the
end of a local array or other data structure. Code that smashes the stack
can cause a return from the routine to jump to a random address, resulting
in some of the most insidious data-dependent bugs known to mankind.
Variants include <span class="firstterm">trash</span> the stack,
<a href="scribble.html"><i class="glossterm">scribble</i></a> the stack, <a href="../M/mangle.html"><i class="glossterm">mangle</i></a>
the stack; the term **<a href="../M/mung.html"><i class="glossterm">mung</i></a> the stack is not used, as
this is never done intentionally. See <a href="spam.html"><i class="glossterm">spam</i></a>; see
also <a href="../A/aliasing-bug.html"><i class="glossterm">aliasing bug</i></a>,
<a href="../F/fandango-on-core.html"><i class="glossterm">fandango on core</i></a>, <a href="../M/memory-leak.html"><i class="glossterm">memory leak</i></a>,
<a href="../M/memory-smash.html"><i class="glossterm">memory smash</i></a>, <a href="../P/precedence-lossage.html"><i class="glossterm">precedence lossage</i></a>,
<a href="../O/overrun-screw.html"><i class="glossterm">overrun screw</i></a>.</p></dd><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="smash-case.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="../S.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="smiley.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">smash case </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> smiley</td></tr></table></div></body></html>