svn commit: r325765 - head/lib/libc/string

Warner Losh imp at FreeBSD.org
Mon Nov 13 17:04:46 UTC 2017


Author: imp
Date: Mon Nov 13 17:04:44 2017
New Revision: 325765
URL: https://svnweb.freebsd.org/changeset/base/325765

Log:
  Add notes about overlapping copies.
  
  Add notes to each of these that specifically state that results are
  undefined if the strings overlap. In the case of memcpy, we document
  the overlapping behavior on FreeBSD (pre-existing). For str*, it is
  left unspecified, however, since the default (and x86) implementations
  do not handle overlapping strings properly.
  
  PR: 223653
  Sponsored by: Netflix

Modified:
  head/lib/libc/string/memcpy.3
  head/lib/libc/string/strcat.3
  head/lib/libc/string/strcpy.3

Modified: head/lib/libc/string/memcpy.3
==============================================================================
--- head/lib/libc/string/memcpy.3	Mon Nov 13 16:53:36 2017	(r325764)
+++ head/lib/libc/string/memcpy.3	Mon Nov 13 17:04:44 2017	(r325765)
@@ -54,6 +54,11 @@ bytes from string
 .Fa src
 to string
 .Fa dst .
+If
+.Fa src
+and
+.Fa dst
+overlap, the results are not defined.
 .Sh RETURN VALUES
 The
 .Fn memcpy

Modified: head/lib/libc/string/strcat.3
==============================================================================
--- head/lib/libc/string/strcat.3	Mon Nov 13 16:53:36 2017	(r325764)
+++ head/lib/libc/string/strcat.3	Mon Nov 13 17:04:44 2017	(r325765)
@@ -62,6 +62,11 @@ then add a terminating
 The string
 .Fa s
 must have sufficient space to hold the result.
+If
+.Fa s
+and
+.Fa append
+overlap, the results are undefined.
 .Pp
 The
 .Fn strncat
@@ -72,6 +77,11 @@ characters from
 .Fa append ,
 and then adds a terminating
 .Ql \e0 .
+If
+.Fa s
+and
+.Fa append
+overlap, the results are undefined.
 .Sh RETURN VALUES
 The
 .Fn strcat

Modified: head/lib/libc/string/strcpy.3
==============================================================================
--- head/lib/libc/string/strcpy.3	Mon Nov 13 16:53:36 2017	(r325764)
+++ head/lib/libc/string/strcpy.3	Mon Nov 13 17:04:44 2017	(r325765)
@@ -63,6 +63,11 @@ to
 (including the terminating
 .Ql \e0
 character.)
+If
+.Fa src
+and
+.Fa dst
+overlap, the results are undefined.
 .Pp
 The
 .Fn stpncpy
@@ -89,6 +94,11 @@ Otherwise,
 is
 .Em not
 terminated.
+If
+.Fa src
+and
+.Fa dst
+overlap, the results are undefined.
 .Sh RETURN VALUES
 The
 .Fn strcpy


More information about the svn-src-all mailing list