<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>-Fno on</title><link>https://geekyschmidt.com/tags/-fno/</link><description>Recent content in -Fno on</description><generator>Hugo -- 0.155.3</generator><language>en</language><copyright>Copyright © 2002–2025, Nicholas Schmidt; all rights reserved.</copyright><lastBuildDate>Sat, 01 Jan 2011 11:46:54 +0000</lastBuildDate><atom:link href="https://geekyschmidt.com/tags/-fno/index.xml" rel="self" type="application/rss+xml"/><item><title>-fno -fno -fno stack protection</title><link>https://geekyschmidt.com/2011/01/01/fno-fno-fno-stack-protection/</link><pubDate>Sat, 01 Jan 2011 11:46:54 +0000</pubDate><guid>https://geekyschmidt.com/2011/01/01/fno-fno-fno-stack-protection/</guid><description>&lt;p&gt;2 days straight now on IRC (&lt;em&gt;##security on irc.freenode.net if you want to say hi&lt;/em&gt;) I have had to help someone compiling a program deal with it failing mid-stream. This is especially prevalent on security packages like fuzzers and such. First, what is stack protection?&lt;/p&gt;
&lt;p&gt;&lt;a href="http://en.wikipedia.org/wiki/Buffer_overflow_protection#GCC_Stack-Smashing_Protector_.28ProPolice.29" target="_blank"&gt;Buffer Overflow Protection&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;In software, a &lt;strong&gt;stack buffer overflow&lt;/strong&gt; occurs when a program writes to a &lt;a href="http://en.wikipedia.org/wiki/Computer_memory" title="Computer memory"&gt;memory&lt;/a&gt; address on the program’s &lt;a href="http://en.wikipedia.org/wiki/Call_stack" title="Call stack"&gt;call stack&lt;/a&gt; outside of the intended data structure; usually a fixed length buffer.&lt;sup id="cite_ref-cert1_0-0"&gt;&lt;a href="http://en.wikipedia.org/wiki/Stack_buffer_overflow#cite_note-cert1-0"&gt;[1]&lt;/a&gt;&lt;/sup&gt;&lt;sup id="cite_ref-dowd_1-0"&gt;&lt;a href="http://en.wikipedia.org/wiki/Stack_buffer_overflow#cite_note-dowd-1"&gt;[2]&lt;/a&gt;&lt;/sup&gt; Stack buffer overflow bugs are caused when a program writes more data to a buffer located on the stack than there was actually allocated for that buffer. This almost always results in corruption of adjacent data on the stack, and in cases where the overflow was triggered by mistake, will often cause the program to crash or operate incorrectly. This type of overflow is part of the more general class of programming bugs known as &lt;a href="http://en.wikipedia.org/wiki/Buffer_overflow" title="Buffer overflow"&gt;buffer overflows&lt;/a&gt;.&lt;sup id="cite_ref-cert1_0-1"&gt;&lt;a href="http://en.wikipedia.org/wiki/Stack_buffer_overflow#cite_note-cert1-0"&gt;[1]&lt;/a&gt;&lt;/sup&gt;&lt;figure id="attachment_1463" style="width: 300px" class="wp-caption alignnone"&gt;&lt;/p&gt;</description></item></channel></rss>