Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 27 Oct 2023 16:17:45 GMT
From:      Warner Losh <imp@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Subject:   git: 5e50a0f39ff7 - main - strlcpy/strlcat: Remove references to snprintf
Message-ID:  <202310271617.39RGHj3J059273@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by imp:

URL: https://cgit.FreeBSD.org/src/commit/?id=5e50a0f39ff7fce651a0d36ee686740b70ad9f0e

commit 5e50a0f39ff7fce651a0d36ee686740b70ad9f0e
Author:     Warner Losh <imp@FreeBSD.org>
AuthorDate: 2023-10-27 16:11:29 +0000
Commit:     Warner Losh <imp@FreeBSD.org>
CommitDate: 2023-10-27 16:13:50 +0000

    strlcpy/strlcat: Remove references to snprintf
    
    While strlcpy and snprintf are somewhat similar, there's big differences
    between strlcat and snprintf which leads to confusion. Remove the
    comparison, since it's ultimately not that useful: the snprintf man page
    has similar language to strlcpy, so it doesn't provide a better
    reference. The two implementations are otherwise unrelated.
    
    Reviewed by:            bcr
    Sponsored by:           Netflix
    Differential Revision:  https://reviews.freebsd.org/D27228
---
 lib/libc/string/strlcpy.3 | 27 +++++++--------------------
 1 file changed, 7 insertions(+), 20 deletions(-)

diff --git a/lib/libc/string/strlcpy.3 b/lib/libc/string/strlcpy.3
index 148afcbbd2bd..89c9d62c5a25 100644
--- a/lib/libc/string/strlcpy.3
+++ b/lib/libc/string/strlcpy.3
@@ -25,7 +25,7 @@
 .\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
 .\" ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.Dd May 1, 2020
+.Dd October 27, 2023
 .Dt STRLCPY 3
 .Os
 .Sh NAME
@@ -45,9 +45,11 @@ The
 .Fn strlcpy
 and
 .Fn strlcat
-functions copy and concatenate strings with the
-same input parameters and output result as
-.Xr snprintf 3 .
+functions copy and concatenate strings with the same input parameters and output result as
+.Xr strcpy 3
+and
+.Xr strcat 3
+with proper overflow protection.
 They are designed to be safer, more consistent, and less error
 prone replacements for the easily misused functions
 .Xr strncpy 3
@@ -100,22 +102,7 @@ and
 .Fa dst
 strings overlap, the behavior is undefined.
 .Sh RETURN VALUES
-Besides quibbles over the return type
-.Pf ( Va size_t
-versus
-.Va int )
-and signal handler safety
-.Pf ( Xr snprintf 3
-is not entirely safe on some systems), the
-following two are equivalent:
-.Bd -literal -offset indent
-n = strlcpy(dst, src, len);
-n = snprintf(dst, len, "%s", src);
-.Ed
-.Pp
-Like
-.Xr snprintf 3 ,
-the
+The
 .Fn strlcpy
 and
 .Fn strlcat



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202310271617.39RGHj3J059273>