<feed xmlns='http://www.w3.org/2005/Atom'>
<title>fortify-headers, branch 0.9</title>
<subtitle>Standalone portable header-based implementation of FORTIFY_SOURCE=3 
</subtitle>
<id>http://git.dustri.org/fortify-headers/atom?h=0.9</id>
<link rel='self' href='http://git.dustri.org/fortify-headers/atom?h=0.9'/>
<link rel='alternate' type='text/html' href='http://git.dustri.org/fortify-headers/'/>
<updated>2017-08-22T10:38:57Z</updated>
<entry>
<title>Bump to 0.9</title>
<updated>2017-08-22T10:38:57Z</updated>
<author>
<name>sin</name>
</author>
<published>2017-08-22T10:38:57Z</published>
<link rel='alternate' type='text/html' href='http://git.dustri.org/fortify-headers/commit/?id=6e7e43ff992fa232b186cec9fc2920ca260c27a6'/>
<id>urn:sha1:6e7e43ff992fa232b186cec9fc2920ca260c27a6</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Don't trap if an encoding error occurs in wcrtomb()</title>
<updated>2017-08-22T10:38:36Z</updated>
<author>
<name>sin</name>
</author>
<published>2017-08-22T10:31:49Z</published>
<link rel='alternate' type='text/html' href='http://git.dustri.org/fortify-headers/commit/?id=9730e9d297068f7555621891072360c58095efc8'/>
<id>urn:sha1:9730e9d297068f7555621891072360c58095efc8</id>
<content type='text'>
The POSIX definition of wcrtomb
(http://pubs.opengroup.org/onlinepubs/9699919799/functions/wcrtomb.html)
states:

"When wc is not a valid wide character, an encoding error shall occur.
In this case, the function shall store the value of the macro [EILSEQ]
in errno and shall return (size_t)-1; the conversion state shall be
undefined."

The fortify-headers implementation of wcrtomb interprets the result -1
as 18446744073709551615 bytes. Since this is the highest 64-bit number
possible, it is pretty safe to say this will always be larger than any
buffer provided to wcrtomb. Therefore, it traps.

Fixes bug https://bugs.alpinelinux.org/issues/7681.

Patch by A. Wilcox &lt;AWilcox@Wilcox-Tech.com&gt;
</content>
</entry>
<entry>
<title>Bump copyright year</title>
<updated>2016-09-10T11:54:17Z</updated>
<author>
<name>sin</name>
</author>
<published>2016-09-10T11:54:06Z</published>
<link rel='alternate' type='text/html' href='http://git.dustri.org/fortify-headers/commit/?id=2bc423c355a992fea2f95724235898218575c95e'/>
<id>urn:sha1:2bc423c355a992fea2f95724235898218575c95e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Bump to 0.8</title>
<updated>2016-07-14T15:09:32Z</updated>
<author>
<name>sin</name>
</author>
<published>2016-07-14T15:09:32Z</published>
<link rel='alternate' type='text/html' href='http://git.dustri.org/fortify-headers/commit/?id=ee2b986235f152b32b575551aedaf2c65207c7be'/>
<id>urn:sha1:ee2b986235f152b32b575551aedaf2c65207c7be</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Only include limits.h when actually used</title>
<updated>2016-07-14T15:09:13Z</updated>
<author>
<name>Natanael Copa</name>
</author>
<published>2016-07-14T14:45:11Z</published>
<link rel='alternate' type='text/html' href='http://git.dustri.org/fortify-headers/commit/?id=9880d5864bfa5ae3fa6ca7b739953ac5f74524be'/>
<id>urn:sha1:9880d5864bfa5ae3fa6ca7b739953ac5f74524be</id>
<content type='text'>
The __extension__ seems to trigger a bug in gcc when there are no
identifier specified afterwards.

Testcase:
  echo "#include &lt;stdlib.h&gt;" &gt; try.c &amp;&amp; cc -O0 -c try.c
  try.c:2:0: error: expected identifier or '(' at end of input

With -O2 it does not happen.

We work around this by only pulling in limits.h when we actually need the
PATH_MAX.

Signed-off-by: Natanael Copa &lt;ncopa@alpinelinux.org&gt;
</content>
</entry>
<entry>
<title>Bump to 0.7</title>
<updated>2015-07-24T13:29:06Z</updated>
<author>
<name>sin</name>
</author>
<published>2015-07-24T13:29:06Z</published>
<link rel='alternate' type='text/html' href='http://git.dustri.org/fortify-headers/commit/?id=578b693300171edfbbefb4b14f1bc9bd46f94a1f'/>
<id>urn:sha1:578b693300171edfbbefb4b14f1bc9bd46f94a1f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Only crash on overflow for realpath()</title>
<updated>2015-07-16T10:45:19Z</updated>
<author>
<name>sin</name>
</author>
<published>2015-07-16T10:45:19Z</published>
<link rel='alternate' type='text/html' href='http://git.dustri.org/fortify-headers/commit/?id=60dcebb6b812097eb6ca141086c2d8c1875d3347'/>
<id>urn:sha1:60dcebb6b812097eb6ca141086c2d8c1875d3347</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix stpncpy() check</title>
<updated>2015-07-15T16:02:27Z</updated>
<author>
<name>sin</name>
</author>
<published>2015-07-15T16:02:27Z</published>
<link rel='alternate' type='text/html' href='http://git.dustri.org/fortify-headers/commit/?id=edb2ded3af887cd0a206c0f00e20118d58a7775c'/>
<id>urn:sha1:edb2ded3af887cd0a206c0f00e20118d58a7775c</id>
<content type='text'>
Do not crash unless the overflow would happen.
</content>
</entry>
<entry>
<title>Fix confstr() check</title>
<updated>2015-07-15T15:05:52Z</updated>
<author>
<name>sin</name>
</author>
<published>2015-07-15T15:05:52Z</published>
<link rel='alternate' type='text/html' href='http://git.dustri.org/fortify-headers/commit/?id=a51406af124e712bc943b29c73fdf219e003ffaa'/>
<id>urn:sha1:a51406af124e712bc943b29c73fdf219e003ffaa</id>
<content type='text'>
Do not crash unless the overflow would actually happen.
</content>
</entry>
<entry>
<title>Fix wcrtomb() check</title>
<updated>2015-07-15T14:55:56Z</updated>
<author>
<name>sin</name>
</author>
<published>2015-07-15T14:53:41Z</published>
<link rel='alternate' type='text/html' href='http://git.dustri.org/fortify-headers/commit/?id=a255506ca487250255f9f048e61cf90166ceab77'/>
<id>urn:sha1:a255506ca487250255f9f048e61cf90166ceab77</id>
<content type='text'>
This was breaking valid code, example:
char c;
wcrtomb(&amp;c, L'0', st);
</content>
</entry>
</feed>
