<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/include/string.h, branch main</title>
<subtitle>FreeBSD source tree</subtitle>
<id>http://cgit.freebsd.org/src/atom?h=main</id>
<link rel='self' href='http://cgit.freebsd.org/src/atom?h=main'/>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/'/>
<updated>2025-12-08T22:34:57Z</updated>
<entry>
<title>libc/string: add strdupa(3) and strndupa(3)</title>
<updated>2025-12-08T22:34:57Z</updated>
<author>
<name>Konstantin Belousov</name>
<email>kib@FreeBSD.org</email>
</author>
<published>2025-12-03T23:56:26Z</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=a98e5d78500193dc7aa352e1f60ac2c6529e2c38'/>
<id>urn:sha1:a98e5d78500193dc7aa352e1f60ac2c6529e2c38</id>
<content type='text'>
Reviewed by:	markj
Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
Differential revision:	https://reviews.freebsd.org/D54066
</content>
</entry>
<entry>
<title>Revert Make newly POSIX functions visible</title>
<updated>2025-03-20T07:41:27Z</updated>
<author>
<name>Stephen Hurd</name>
<email>shurd@FreeBSD.org</email>
</author>
<published>2025-03-20T07:15:15Z</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=415a0ce02c9ee2c15c7973b2dfbddda71f6344a2'/>
<id>urn:sha1:415a0ce02c9ee2c15c7973b2dfbddda71f6344a2</id>
<content type='text'>
Summary:
This reverts commit d7efac1be1441c122f7fb9de51a409172f21326c.
This reverts commit 9d0eea9422d075c8a6924b33161d2d5abfb4072a.

Some ports (specifically Python) define __BSD_VISIBLE themselves, so
the change from __BSD_VISIBLE to __POSIX_VISIBLE &gt;= 202405 makes them
fail.

Reported by:	jrtc27, cperciva
</content>
</entry>
<entry>
<title>Make newly POSIX functions visible</title>
<updated>2025-03-19T23:45:06Z</updated>
<author>
<name>Stephen Hurd</name>
<email>shurd@FreeBSD.org</email>
</author>
<published>2025-03-19T23:45:06Z</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=9d0eea9422d075c8a6924b33161d2d5abfb4072a'/>
<id>urn:sha1:9d0eea9422d075c8a6924b33161d2d5abfb4072a</id>
<content type='text'>
Some of the POSIX 202405L functions are already in the system, make
them visible when appropriate.

Reviewed by:	imp
MFC after:	1 week
Differential Revision: https://reviews.freebsd.org/D47859
</content>
</entry>
<entry>
<title>Expose POSIX functions incorporated into C23</title>
<updated>2024-12-01T17:34:40Z</updated>
<author>
<name>Stephen Hurd</name>
<email>shurd@FreeBSD.org</email>
</author>
<published>2024-12-01T17:34:40Z</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=59677aecb67bbedcfa2ee5d7d2b189193cdc4af7'/>
<id>urn:sha1:59677aecb67bbedcfa2ee5d7d2b189193cdc4af7</id>
<content type='text'>
C23 has incoporated a small number of POSIX functions, so these
should be exposed for C23, regardless of POSIX.

Reviewed by:	imp, emaste
Differential Revision:	https://reviews.freebsd.org/D47856
</content>
</entry>
<entry>
<title>lib/libc/string: add memset_explicit() for compliance with C23</title>
<updated>2024-11-14T22:10:00Z</updated>
<author>
<name>Robert Clausecker</name>
<email>fuz@FreeBSD.org</email>
</author>
<published>2024-10-25T15:16:27Z</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=007871c35628054bbfdb323e1991da872dd0d17d'/>
<id>urn:sha1:007871c35628054bbfdb323e1991da872dd0d17d</id>
<content type='text'>
Patterned after explicit_bzero, visible from C23 onwards.

Reviewed by:	emaste, kevans
Differential Revision:	https://reviews.freebsd.org/D47286
</content>
</entry>
<entry>
<title>include: ssp: don't shadow the mempcpy builtin</title>
<updated>2024-07-16T05:12:28Z</updated>
<author>
<name>Kyle Evans</name>
<email>kevans@FreeBSD.org</email>
</author>
<published>2024-07-16T05:12:28Z</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=0c47b9c211ede221629914ae0c5553586e772109'/>
<id>urn:sha1:0c47b9c211ede221629914ae0c5553586e772109</id>
<content type='text'>
GCC emits a warning about shadowing a builtin with our mempcpy
declaration, so switch it to using the same model as memcpy() and
use the apparently-existing __builtin___mempcpy_chk().

Reviewed by:	kib (earlier version), markj
Sponsored by:	Klara, Inc.
Sponsored by:	Stormshield
Differential Revision:	https://reviews.freebsd.org/D45976
</content>
</entry>
<entry>
<title>include: ssp: round out fortification of current set of headers</title>
<updated>2024-07-13T05:16:24Z</updated>
<author>
<name>Kyle Evans</name>
<email>kevans@FreeBSD.org</email>
</author>
<published>2024-07-13T05:16:10Z</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=cf8e5289a110954600f135024d1515a77d0ae34d'/>
<id>urn:sha1:cf8e5289a110954600f135024d1515a77d0ae34d</id>
<content type='text'>
ssp/ssp.h needed some improvements:
 - `len` isn't always a size_t, it may need casted
 - In some cases we may want to use a len that isn't specified as a
    parameter (e.g., L_ctermid), so __ssp_redirect() should be more
    flexible.
 - In other cases we may want additional checking, so pull all of the
    declaration bits out of __ssp_redirect_raw() so that some functions
    can implement the body themselves.

strlcat/strlcpy should be the last of the fortified functions that get
their own __*_chk symbols, and these cases are only done to be
consistent with the rest of the str*() set.

Reviewed by:	markj
Sponsored by:	Klara, Inc.
Sponsored by:	Stormshield
Differential Revision:	https://reviews.freebsd.org/D45679
</content>
</entry>
<entry>
<title>ssp: appease -Wgnu-statement-expression-from-macro-expansion</title>
<updated>2024-05-14T23:22:18Z</updated>
<author>
<name>Kyle Evans</name>
<email>kevans@FreeBSD.org</email>
</author>
<published>2024-05-14T23:16:58Z</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=5af6fbd72790173e128222943effc5aa95272ce9'/>
<id>urn:sha1:5af6fbd72790173e128222943effc5aa95272ce9</id>
<content type='text'>
It's a stupid warning, but some ports enable it by default and were
already defining _FORTIFY_SOURCE, thus exposing the new macros
immediately.  This at least fixes the libfido2 build, perhaps others as
well.

While we're here, fix a fresh build of stand w/ FORTIFY_SOURCE enabled
by not pulling in the ssp headers if _STANDALONE is defined.  We do not
have runtime support in libsa as of the time of writing.

Reported by:	netchild
Sponsored by:	Stormshield
Sponsored by:	Klara, Inc.
</content>
</entry>
<entry>
<title>Add a build knob for _FORTIFY_SOURCE</title>
<updated>2024-05-13T05:23:50Z</updated>
<author>
<name>Kyle Evans</name>
<email>kevans@FreeBSD.org</email>
</author>
<published>2024-05-13T05:23:50Z</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=9bfd3b4076a7b0dfd27ab22318e5113dc84fea28'/>
<id>urn:sha1:9bfd3b4076a7b0dfd27ab22318e5113dc84fea28</id>
<content type='text'>
In the future, we will Default to _FORTIFY_SOURCE=2 if SSP is enabled,
otherwise default to _FORTIFY_SOURCE=0.  For now we default it to 0
unconditionally to ease bisect across older versions without the new
symbols, and we'll put out a call for testing.

include/*.h include their ssp/*.h equivalents as needed based on the
knob. Programs and users are allowed to override FORTIFY_SOURCE in their
Makefiles or src.conf/make.conf to force it off.

Reviewed by:	des, markj
Relnotes:	yes
Sponsored by:	Stormshield
Sponsored by:	Klara, Inc.
Differential Revision:	https://reviews.freebsd.org/D32308
</content>
</entry>
<entry>
<title>include: Remove ancient SCCS tags.</title>
<updated>2023-11-27T05:23:28Z</updated>
<author>
<name>Warner Losh</name>
<email>imp@FreeBSD.org</email>
</author>
<published>2023-11-23T17:21:37Z</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=5a1d14419a5b620430949a46cb6ee63148a43cb9'/>
<id>urn:sha1:5a1d14419a5b620430949a46cb6ee63148a43cb9</id>
<content type='text'>
Remove ancient SCCS tags from the tree, automated scripting, with two
minor fixup to keep things compiling. All the common forms in the tree
were removed with a perl script.

Sponsored by:		Netflix
</content>
</entry>
</feed>
