<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Underhanded C: The Leaky Redaction</title>
	<atom:link href="http://notanumber.net/archives/54/underhanded-c-the-leaky-redaction/feed" rel="self" type="application/rss+xml" />
	<link>http://notanumber.net/archives/54/underhanded-c-the-leaky-redaction</link>
	<description>Programming, Theory, and Math</description>
	<lastBuildDate>Mon, 11 Jan 2010 17:27:31 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Simon Strandgaard</title>
		<link>http://notanumber.net/archives/54/underhanded-c-the-leaky-redaction/comment-page-1#comment-2907</link>
		<dc:creator>Simon Strandgaard</dc:creator>
		<pubDate>Mon, 11 Jan 2010 17:27:31 +0000</pubDate>
		<guid isPermaLink="false">http://notanumber.net/?p=54#comment-2907</guid>
		<description>Pure evil. Fantastic well put together piece of code that looks fairly innocent. Thank you for opening my eyes for this kind of dangerous code.

Keep up the good (or should I say evil) work!</description>
		<content:encoded><![CDATA[<p>Pure evil. Fantastic well put together piece of code that looks fairly innocent. Thank you for opening my eyes for this kind of dangerous code.</p>
<p>Keep up the good (or should I say evil) work!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Craig</title>
		<link>http://notanumber.net/archives/54/underhanded-c-the-leaky-redaction/comment-page-1#comment-2906</link>
		<dc:creator>Craig</dc:creator>
		<pubDate>Sat, 02 Jan 2010 03:47:01 +0000</pubDate>
		<guid isPermaLink="false">http://notanumber.net/?p=54#comment-2906</guid>
		<description>Wow.</description>
		<content:encoded><![CDATA[<p>Wow.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Lalit Mishra</title>
		<link>http://notanumber.net/archives/54/underhanded-c-the-leaky-redaction/comment-page-1#comment-2905</link>
		<dc:creator>Lalit Mishra</dc:creator>
		<pubDate>Fri, 01 Jan 2010 15:10:03 +0000</pubDate>
		<guid isPermaLink="false">http://notanumber.net/?p=54#comment-2905</guid>
		<description>Clever.</description>
		<content:encoded><![CDATA[<p>Clever.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Aaron</title>
		<link>http://notanumber.net/archives/54/underhanded-c-the-leaky-redaction/comment-page-1#comment-2904</link>
		<dc:creator>Aaron</dc:creator>
		<pubDate>Thu, 31 Dec 2009 20:29:13 +0000</pubDate>
		<guid isPermaLink="false">http://notanumber.net/?p=54#comment-2904</guid>
		<description>My code review would start with &quot;Where is BUFSIZE declared?&quot;.  I&#039;m assuming there are header files being #include&#039;d which have been omitted, or perhaps you are defining it on the command line?</description>
		<content:encoded><![CDATA[<p>My code review would start with &#8220;Where is BUFSIZE declared?&#8221;.  I&#8217;m assuming there are header files being #include&#8217;d which have been omitted, or perhaps you are defining it on the command line?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Thomas Beaucourt</title>
		<link>http://notanumber.net/archives/54/underhanded-c-the-leaky-redaction/comment-page-1#comment-2903</link>
		<dc:creator>Thomas Beaucourt</dc:creator>
		<pubDate>Wed, 30 Dec 2009 23:39:58 +0000</pubDate>
		<guid isPermaLink="false">http://notanumber.net/?p=54#comment-2903</guid>
		<description>Congratulations, beautiful idea ! Plausible deniability is very high indeed.</description>
		<content:encoded><![CDATA[<p>Congratulations, beautiful idea ! Plausible deniability is very high indeed.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: ThatsGobbles</title>
		<link>http://notanumber.net/archives/54/underhanded-c-the-leaky-redaction/comment-page-1#comment-2902</link>
		<dc:creator>ThatsGobbles</dc:creator>
		<pubDate>Wed, 30 Dec 2009 21:12:19 +0000</pubDate>
		<guid isPermaLink="false">http://notanumber.net/?p=54#comment-2902</guid>
		<description>Very clever. I really dig the fact that, like you said, one of the most common types of images to block out are black-and-white text images, and this program works *best* on those types.</description>
		<content:encoded><![CDATA[<p>Very clever. I really dig the fact that, like you said, one of the most common types of images to block out are black-and-white text images, and this program works *best* on those types.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Anonymous</title>
		<link>http://notanumber.net/archives/54/underhanded-c-the-leaky-redaction/comment-page-1#comment-2901</link>
		<dc:creator>Anonymous</dc:creator>
		<pubDate>Wed, 30 Dec 2009 20:09:22 +0000</pubDate>
		<guid isPermaLink="false">http://notanumber.net/?p=54#comment-2901</guid>
		<description>Hmm. If I were Spook, I would still be suspicious and/or worried as your answer lacks any _real_ justification as to why the obvious option of using scanf() (or rather fscanf()) would be wrong here. Your explanation seems to rely on the (correct) behavior of fgets(), which is different from fscanf().

It seems you assume fscanf() might work incorrectly (by not assigning all of the matching data within a line - you seem to imply fscanf() uses fgets() with a limited buffer internally, which may or may not be true) and because of this you implement the logic which uses fgets() directly.

Such behavior would be a bug. I am not aware of such a (known) bug in any fscanf() implementation. Are you?</description>
		<content:encoded><![CDATA[<p>Hmm. If I were Spook, I would still be suspicious and/or worried as your answer lacks any _real_ justification as to why the obvious option of using scanf() (or rather fscanf()) would be wrong here. Your explanation seems to rely on the (correct) behavior of fgets(), which is different from fscanf().</p>
<p>It seems you assume fscanf() might work incorrectly (by not assigning all of the matching data within a line &#8211; you seem to imply fscanf() uses fgets() with a limited buffer internally, which may or may not be true) and because of this you implement the logic which uses fgets() directly.</p>
<p>Such behavior would be a bug. I am not aware of such a (known) bug in any fscanf() implementation. Are you?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: MadKat</title>
		<link>http://notanumber.net/archives/54/underhanded-c-the-leaky-redaction/comment-page-1#comment-2900</link>
		<dc:creator>MadKat</dc:creator>
		<pubDate>Wed, 30 Dec 2009 19:07:16 +0000</pubDate>
		<guid isPermaLink="false">http://notanumber.net/?p=54#comment-2900</guid>
		<description>That is truly a beautiful solution. Thank you for the extended description.</description>
		<content:encoded><![CDATA[<p>That is truly a beautiful solution. Thank you for the extended description.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
<!-- WP Super Cache is installed but broken. The path to wp-cache-phase1.php in wp-content/advanced-cache.php must be fixed! -->