<?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: Ban programmers, not functions</title>
	<atom:link href="http://sigttou.com/ban-programmers-not-functions/feed" rel="self" type="application/rss+xml" />
	<link>http://sigttou.com/ban-programmers-not-functions</link>
	<description>Just another background process...</description>
	<lastBuildDate>Fri, 03 Feb 2012 08:27:14 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
	<item>
		<title>By: Peter</title>
		<link>http://sigttou.com/ban-programmers-not-functions/comment-page-1#comment-185</link>
		<dc:creator>Peter</dc:creator>
		<pubDate>Tue, 18 Oct 2011 10:06:37 +0000</pubDate>
		<guid isPermaLink="false">http://sigttou.com/?p=71#comment-185</guid>
		<description>@Joe
Seems like &#039;len&#039; could still be too large.  Wouldn&#039;t
#define memcpy(dst,src,len) memcpy_s(dst, sizeof(dst), src, len);
be better?  Or even something like
#define MEMCPY_ERR do_something_like_compile_error_or_fail_loudly
#define memcpy(dst, src, len) (sizeof( dst )&gt;len ? memcpy(dst, src, len) : MEMCPY_ERR)
Maybe that doesn&#039;t make sense; I&#039;m not a programmer, so...</description>
		<content:encoded><![CDATA[<p>@Joe<br />
Seems like &#8216;len&#8217; could still be too large.  Wouldn&#8217;t<br />
#define memcpy(dst,src,len) memcpy_s(dst, sizeof(dst), src, len);<br />
be better?  Or even something like<br />
#define MEMCPY_ERR do_something_like_compile_error_or_fail_loudly<br />
#define memcpy(dst, src, len) (sizeof( dst )&gt;len ? memcpy(dst, src, len) : MEMCPY_ERR)<br />
Maybe that doesn&#8217;t make sense; I&#8217;m not a programmer, so&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: stef13013</title>
		<link>http://sigttou.com/ban-programmers-not-functions/comment-page-1#comment-184</link>
		<dc:creator>stef13013</dc:creator>
		<pubDate>Sun, 16 Oct 2011 17:06:35 +0000</pubDate>
		<guid isPermaLink="false">http://sigttou.com/?p=71#comment-184</guid>
		<description>I agree, it is pretty useless, but the worst would be that Microsoft forced to used them ;)</description>
		<content:encoded><![CDATA[<p>I agree, it is pretty useless, but the worst would be that Microsoft forced to used them <img src='http://sigttou.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: LaLaLaHeyHey</title>
		<link>http://sigttou.com/ban-programmers-not-functions/comment-page-1#comment-183</link>
		<dc:creator>LaLaLaHeyHey</dc:creator>
		<pubDate>Sat, 15 Oct 2011 13:51:42 +0000</pubDate>
		<guid isPermaLink="false">http://sigttou.com/?p=71#comment-183</guid>
		<description>Even if 5% of programmers that wrote software on windows saw the banned APIs and fixed their code it would be better than 0.  I guess your solution is - hire better programmers. Yeah.. um.. thanks for that insight. 

Microsoft: &quot;Hello I&#039;m from Microsoft and um we&#039;d like you to replace this amateur programmer Ted from your company for messing up parameters to memcpy.&quot;

Software Vendors: &quot;Fuck off&quot;</description>
		<content:encoded><![CDATA[<p>Even if 5% of programmers that wrote software on windows saw the banned APIs and fixed their code it would be better than 0.  I guess your solution is &#8211; hire better programmers. Yeah.. um.. thanks for that insight. </p>
<p>Microsoft: &#8220;Hello I&#8217;m from Microsoft and um we&#8217;d like you to replace this amateur programmer Ted from your company for messing up parameters to memcpy.&#8221;</p>
<p>Software Vendors: &#8220;Fuck off&#8221;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Joe</title>
		<link>http://sigttou.com/ban-programmers-not-functions/comment-page-1#comment-182</link>
		<dc:creator>Joe</dc:creator>
		<pubDate>Sat, 15 Oct 2011 01:51:23 +0000</pubDate>
		<guid isPermaLink="false">http://sigttou.com/?p=71#comment-182</guid>
		<description>#define memcpy(dst, src, len) memcpy_s(dst, len, src, len)</description>
		<content:encoded><![CDATA[<p>#define memcpy(dst, src, len) memcpy_s(dst, len, src, len)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sturm Mabie</title>
		<link>http://sigttou.com/ban-programmers-not-functions/comment-page-1#comment-181</link>
		<dc:creator>Sturm Mabie</dc:creator>
		<pubDate>Fri, 14 Oct 2011 23:06:15 +0000</pubDate>
		<guid isPermaLink="false">http://sigttou.com/?p=71#comment-181</guid>
		<description>Um, actually strcpy and strcat have been largely replaced by strlcpy and strlcat or equivalents both in all major BSDs and the Linux kernel. Pretty much the only person who thinks strlcpy and strlcat are a bad idea is Ulrich Drepper.</description>
		<content:encoded><![CDATA[<p>Um, actually strcpy and strcat have been largely replaced by strlcpy and strlcat or equivalents both in all major BSDs and the Linux kernel. Pretty much the only person who thinks strlcpy and strlcat are a bad idea is Ulrich Drepper.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Yuhong Bao</title>
		<link>http://sigttou.com/ban-programmers-not-functions/comment-page-1#comment-180</link>
		<dc:creator>Yuhong Bao</dc:creator>
		<pubDate>Fri, 14 Oct 2011 21:13:22 +0000</pubDate>
		<guid isPermaLink="false">http://sigttou.com/?p=71#comment-180</guid>
		<description>I wonder if it says something about MS&#039;s corporate culture, particularly putting process over people.</description>
		<content:encoded><![CDATA[<p>I wonder if it says something about MS&#8217;s corporate culture, particularly putting process over people.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: _mind</title>
		<link>http://sigttou.com/ban-programmers-not-functions/comment-page-1#comment-178</link>
		<dc:creator>_mind</dc:creator>
		<pubDate>Thu, 13 Oct 2011 06:00:51 +0000</pubDate>
		<guid isPermaLink="false">http://sigttou.com/?p=71#comment-178</guid>
		<description>&gt; My point here is that banning functions that are the common source of security vulnerabilities doesn’t fix the problem, because the problem isn’t with the functions

You&#039;re simplifying your point too much, and thus making it wrong. memcpy() can indeed be used safely (make sure len is smaller than the destination buffer!), so memcpy_s() is mostly redundant. However, something like gets() is just broken and *cannot* be used properly and therefore should be deprecated. strcpy() falls somewhere in the middle.</description>
		<content:encoded><![CDATA[<p>&gt; My point here is that banning functions that are the common source of security vulnerabilities doesn’t fix the problem, because the problem isn’t with the functions</p>
<p>You&#8217;re simplifying your point too much, and thus making it wrong. memcpy() can indeed be used safely (make sure len is smaller than the destination buffer!), so memcpy_s() is mostly redundant. However, something like gets() is just broken and *cannot* be used properly and therefore should be deprecated. strcpy() falls somewhere in the middle.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Microsoft banned function list &#124; &#62;kloctalk</title>
		<link>http://sigttou.com/ban-programmers-not-functions/comment-page-1#comment-176</link>
		<dc:creator>Microsoft banned function list &#124; &#62;kloctalk</dc:creator>
		<pubDate>Tue, 27 Sep 2011 19:58:46 +0000</pubDate>
		<guid isPermaLink="false">http://sigttou.com/?p=71#comment-176</guid>
		<description>[...] the question becomes how useful are these?  There is no question that these banned functions are debatable.  The complaint that I hear the most is that &#8220;n&#8221; functions can be used safely so they [...]</description>
		<content:encoded><![CDATA[<p>[...] the question becomes how useful are these?  There is no question that these banned functions are debatable.  The complaint that I hear the most is that &#8220;n&#8221; functions can be used safely so they [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Bert</title>
		<link>http://sigttou.com/ban-programmers-not-functions/comment-page-1#comment-175</link>
		<dc:creator>Bert</dc:creator>
		<pubDate>Mon, 26 Sep 2011 10:49:36 +0000</pubDate>
		<guid isPermaLink="false">http://sigttou.com/?p=71#comment-175</guid>
		<description>It&#039;s great to read something that&#039;s both enjoyable and prioveds pragmatisdc solutions.</description>
		<content:encoded><![CDATA[<p>It&#8217;s great to read something that&#8217;s both enjoyable and prioveds pragmatisdc solutions.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: kto</title>
		<link>http://sigttou.com/ban-programmers-not-functions/comment-page-1#comment-140</link>
		<dc:creator>kto</dc:creator>
		<pubDate>Sun, 19 Dec 2010 20:37:42 +0000</pubDate>
		<guid isPermaLink="false">http://sigttou.com/?p=71#comment-140</guid>
		<description>Excellent words. I&#039;m slow to this memcpy() ban debate, but I agree with you 100%.

-kto</description>
		<content:encoded><![CDATA[<p>Excellent words. I&#8217;m slow to this memcpy() ban debate, but I agree with you 100%.</p>
<p>-kto</p>
]]></content:encoded>
	</item>
</channel>
</rss>

