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

14 lines
2.7 KiB
HTML
Raw Permalink 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>