<feed xmlns='http://www.w3.org/2005/Atom'>
<title>fortify-headers/include/unistd.h, branch annotations</title>
<subtitle>Standalone portable header-based implementation of FORTIFY_SOURCE=3 
</subtitle>
<id>http://git.dustri.org/fortify-headers/atom?h=annotations</id>
<link rel='self' href='http://git.dustri.org/fortify-headers/atom?h=annotations'/>
<link rel='alternate' type='text/html' href='http://git.dustri.org/fortify-headers/'/>
<updated>2025-11-14T12:55:31Z</updated>
<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 `swab`</title>
<updated>2025-10-31T21:16:21Z</updated>
<author>
<name>jvoisin</name>
</author>
<published>2025-10-31T14:55:01Z</published>
<link rel='alternate' type='text/html' href='http://git.dustri.org/fortify-headers/commit/?id=4a26785c0cab4686e5825fe5f5e921d12e7142b7'/>
<id>urn:sha1:4a26785c0cab4686e5825fe5f5e921d12e7142b7</id>
<content type='text'>
Co-Authored-By: Sertonix &lt;sertonix@posteo.net&gt;
</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>getgroups: do not trap on non-positive gidsetsize</title>
<updated>2019-03-13T17:47:50Z</updated>
<author>
<name>info@mobile-stream.com</name>
</author>
<published>2019-03-13T12:55:48Z</published>
<link rel='alternate' type='text/html' href='http://git.dustri.org/fortify-headers/commit/?id=9e65ae387cb7dc955042a1c98c4e8448b01e172c'/>
<id>urn:sha1:9e65ae387cb7dc955042a1c98c4e8448b01e172c</id>
<content type='text'>
First, we should never check the size of __s if __l == 0 since the
array is not going to be modified in that case.

Second, negative __l is a well-defined error case (EINVAL) and we
should never trap on a conforming code like this:

r = getgroups(-1, NULL);
if (r == -1)
  ...

An example of non-desired behaviour for negative __l is the gnulib
configure script which checks for getgroups(-1, ...) to catch some
ancient FreeBSD kernel bug. The conftest binary traps even on good
system (e.g. linux/musl) and the unnecessary getgroups wrapper is
enforced for any project that uses gnulib.

This patch also changes the size_t cast to avoid the explicit zero
extension on systems where size_t differs from unsigned int.
</content>
</entry>
<entry>
<title>Don't use __extension__ in C++ code</title>
<updated>2018-07-24T10:00:30Z</updated>
<author>
<name>A. Wilcox</name>
</author>
<published>2018-06-23T22:57:48Z</published>
<link rel='alternate' type='text/html' href='http://git.dustri.org/fortify-headers/commit/?id=a9ffac8596b094da8563aa5dd5d81c946670afe5'/>
<id>urn:sha1:a9ffac8596b094da8563aa5dd5d81c946670afe5</id>
<content type='text'>
A few important notes:

*  __extension__ is a GNU C "alternate" keyword, not a C++ keyword.[1]

*  __extension__ is designed to work on "expressions"; it does work on
   #include_next in C mode, but it has no effect in C++ mode; the
   warning will still appear, if enabled, even with __extension__
   preceding #include_next.  This is because #include_next is not
   considered an expression in C++, so the compiler attaches
   __extension__ to the first expression of the header.

All of this leads us to a build failure while building at least all
Mozilla software.  Moz has an alternate -isystem dir searched before
/usr/include that overrides some headers, including &lt;features.h&gt;.  The
first statement in each of these headers is a #pragma, and since
__extension__ is looking for an expression, and #pragma is a "null"
expression, we end up with the following error:

dist/system_wrappers/features.h:1:9: error: '#pragma' is not allowed here

Since __extension__ has no effect on #include_next in C++ mode anyway,
and since it can cause breakage, this commit omits __extension__ in C++
mode.

[1]: https://gcc.gnu.org/onlinedocs/gcc-6.4.0/gcc/Alternate-Keywords.html
</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>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>Add __extension__ mark to include_next to silence -pedantic</title>
<updated>2015-06-25T09:18:26Z</updated>
<author>
<name>Steven Barth</name>
</author>
<published>2015-06-24T18:13:37Z</published>
<link rel='alternate' type='text/html' href='http://git.dustri.org/fortify-headers/commit/?id=7fd984fcb532be01f68cddc194c09a7ca10c1ea6'/>
<id>urn:sha1:7fd984fcb532be01f68cddc194c09a7ca10c1ea6</id>
<content type='text'>
Signed-off-by: Steven Barth &lt;steven@midlink.org&gt;
</content>
</entry>
</feed>
