<feed xmlns='http://www.w3.org/2005/Atom'>
<title>fortify-headers/include/string.h, branch 3.0.2</title>
<subtitle>Standalone portable header-based implementation of FORTIFY_SOURCE=3 
</subtitle>
<id>http://git.dustri.org/fortify-headers/atom?h=3.0.2</id>
<link rel='self' href='http://git.dustri.org/fortify-headers/atom?h=3.0.2'/>
<link rel='alternate' type='text/html' href='http://git.dustri.org/fortify-headers/'/>
<updated>2026-04-30T22:44:53Z</updated>
<entry>
<title>Fix strncat/wcsncat</title>
<updated>2026-04-30T22:44:53Z</updated>
<author>
<name>jvoisin</name>
</author>
<published>2026-04-30T22:36:32Z</published>
<link rel='alternate' type='text/html' href='http://git.dustri.org/fortify-headers/commit/?id=ddd22b2f533db9c0da0bb262fbafa51f67c8587e'/>
<id>urn:sha1:ddd22b2f533db9c0da0bb262fbafa51f67c8587e</id>
<content type='text'>
Previously, no checks were done when __n &lt;= __b, but strncat _appends_ after
existing content, making this a overly broad check check. For example, with an
8-byte buffer containing "12345\0", strncat(buf, "ABCD", 4) would have the
check skipped, but the result "12345ABCD\0" is 10 bytes, resulting in an
overflow.

This commit fixes this oversight, and adds a bunch of tests.
</content>
</entry>
<entry>
<title>Fix a bug in stpncpy</title>
<updated>2026-04-30T15:37:02Z</updated>
<author>
<name>jvoisin</name>
</author>
<published>2026-04-30T15:37:02Z</published>
<link rel='alternate' type='text/html' href='http://git.dustri.org/fortify-headers/commit/?id=6040b4a27409968c764353a98c45d972cfd89a8a'/>
<id>urn:sha1:6040b4a27409968c764353a98c45d972cfd89a8a</id>
<content type='text'>
The manpage says that stpncpy will "copy non-null bytes from the string pointed
to by src into the array pointed to by dst.", it doesn't add a terminal NULL
byte, so we shouldn't check for it.
</content>
</entry>
<entry>
<title>Change __warning_if into __fortify_warning_if to fix potential conflicts</title>
<updated>2025-12-30T10:34:48Z</updated>
<author>
<name>jvoisin</name>
</author>
<published>2025-12-30T10:33:08Z</published>
<link rel='alternate' type='text/html' href='http://git.dustri.org/fortify-headers/commit/?id=eec2b5e06bdb01d20f1a1125074a379e0b154d80'/>
<id>urn:sha1:eec2b5e06bdb01d20f1a1125074a379e0b154d80</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Change __access into __fortify_access to fix potential conflicts</title>
<updated>2025-12-30T10:34:48Z</updated>
<author>
<name>jvoisin</name>
</author>
<published>2025-12-30T10:32:19Z</published>
<link rel='alternate' type='text/html' href='http://git.dustri.org/fortify-headers/commit/?id=c4c5fd41124f38a5afee02b8f604ddc21d3b199a'/>
<id>urn:sha1:c4c5fd41124f38a5afee02b8f604ddc21d3b199a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add __diagnose_if annotations</title>
<updated>2025-11-14T15:56:09Z</updated>
<author>
<name>jvoisin</name>
</author>
<published>2025-11-14T15:25:52Z</published>
<link rel='alternate' type='text/html' href='http://git.dustri.org/fortify-headers/commit/?id=611069d07c14bf7ace7a75fa2bc9147db8ac097d'/>
<id>urn:sha1:611069d07c14bf7ace7a75fa2bc9147db8ac097d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add `access` annotations</title>
<updated>2025-11-14T12:55:31Z</updated>
<author>
<name>jvoisin</name>
</author>
<published>2025-11-12T21:28:13Z</published>
<link rel='alternate' type='text/html' href='http://git.dustri.org/fortify-headers/commit/?id=bf242b15e1f7873bdb940c2441b5e57747bc2f81'/>
<id>urn:sha1:bf242b15e1f7873bdb940c2441b5e57747bc2f81</id>
<content type='text'>
</content>
</entry>
<entry>
<title>add initial clang support</title>
<updated>2025-10-31T21:16:21Z</updated>
<author>
<name>Daniel Kolesa</name>
</author>
<published>2022-10-25T22:30:00Z</published>
<link rel='alternate' type='text/html' href='http://git.dustri.org/fortify-headers/commit/?id=f46714c2f9eb13c12c8218f1b7c045182041fdc9'/>
<id>urn:sha1:f46714c2f9eb13c12c8218f1b7c045182041fdc9</id>
<content type='text'>
Co-Authored-By: jvoisin &lt;julien.voisin@dustri.org&gt;
</content>
</entry>
<entry>
<title>avoid __extension__ with clang</title>
<updated>2025-10-31T21:16:21Z</updated>
<author>
<name>Daniel Kolesa</name>
</author>
<published>2022-11-01T19:14:54Z</published>
<link rel='alternate' type='text/html' href='http://git.dustri.org/fortify-headers/commit/?id=8915dc13de44fed3a076a9fd51eb1ab2b5502d7b'/>
<id>urn:sha1:8915dc13de44fed3a076a9fd51eb1ab2b5502d7b</id>
<content type='text'>
It seems useless and triggers 'error: expected external declaration'
</content>
</entry>
<entry>
<title>Make use of __builtin_dynamic_object_size</title>
<updated>2025-10-31T21:16:21Z</updated>
<author>
<name>jvoisin</name>
</author>
<published>2023-03-18T13:01:02Z</published>
<link rel='alternate' type='text/html' href='http://git.dustri.org/fortify-headers/commit/?id=249492e08adbf034976770ab3b021ba093a2ab18'/>
<id>urn:sha1:249492e08adbf034976770ab3b021ba093a2ab18</id>
<content type='text'>
GCC and Clang provide __builtin_dynamic_object_size
(see documentation: https://gcc.gnu.org/onlinedocs/gcc/Object-Size-Checking.html),
so we should make use of it when its available.
</content>
</entry>
<entry>
<title>Make use of builtins whenever possible</title>
<updated>2019-02-25T13:17:08Z</updated>
<author>
<name>sin</name>
</author>
<published>2019-02-25T13:01:12Z</published>
<link rel='alternate' type='text/html' href='http://git.dustri.org/fortify-headers/commit/?id=5aabc7e6aad28327d75671e52c50060e4543112c'/>
<id>urn:sha1:5aabc7e6aad28327d75671e52c50060e4543112c</id>
<content type='text'>
</content>
</entry>
</feed>
