Loading...
--- Libc/Libc-763.13/string/FreeBSD/strcpy.3.patch
+++ Libc/Libc-583/string/FreeBSD/strcpy.3.patch
@@ -1,20 +1,23 @@
---- strcpy.3.orig 2010-04-28 23:38:50.000000000 -0700
-+++ strcpy.3 2010-04-29 09:37:17.000000000 -0700
-@@ -43,13 +43,27 @@
+--- strcpy.3.orig 2008-02-29 10:45:51.000000000 -0800
++++ strcpy.3 2008-02-29 12:08:34.000000000 -0800
+@@ -40,18 +40,30 @@
+ .Dt STRCPY 3
+ .Os
+ .Sh NAME
+-.Nm strcpy , strncpy
++.Nm stpcpy ,
++.Nm strcpy ,
++.Nm strncpy
+ .Nd copy strings
+ .Sh LIBRARY
+ .Lb libc
.Sh SYNOPSIS
.In string.h
.Ft char *
--.Fn stpcpy "char * restrict dst" "const char * restrict src"
+-.Fn stpcpy "char *dst" "const char *src"
+.Fo stpcpy
+.Fa "char *s1"
+.Fa "const char *s2"
-+.Fc
- .Ft char *
--.Fn stpncpy "char * restrict dst" "const char * restrict src" "size_t len"
-+.Fo stpncpy
-+.Fa "char *restrict s1"
-+.Fa "const char *restrict s2"
-+.Fa "size_t n"
+.Fc
.Ft char *
-.Fn strcpy "char * restrict dst" "const char * restrict src"
@@ -32,7 +35,7 @@
.Sh DESCRIPTION
The
.Fn stpcpy
-@@ -57,38 +71,41 @@ and
+@@ -59,36 +71,39 @@
.Fn strcpy
functions
copy the string
@@ -47,10 +50,8 @@
+character).
.Pp
The
- .Fn stpncpy
- and
.Fn strncpy
- functions copy at most
+ function copies at most
-.Fa len
+.Fa n
characters from
@@ -84,7 +85,7 @@
.Sh RETURN VALUES
The
.Fn strcpy
-@@ -96,7 +113,7 @@ and
+@@ -96,13 +111,13 @@
.Fn strncpy
functions
return
@@ -92,27 +93,15 @@
+.Fa s1 .
The
.Fn stpcpy
- and
-@@ -104,15 +121,15 @@ and
- functions return a pointer to the terminating
+ function returns a pointer to the terminating
.Ql \e0
character of
-.Fa dst .
+.Fa s1 .
- If
- .Fn stpncpy
- does not terminate
--.Fa dst
-+.Fa s1
- with a
- .Dv NUL
- character, it instead returns a pointer to
--.Li dst[n]
-+.Li s1[n]
- (which does not necessarily refer to a valid memory location.)
.Sh EXAMPLES
The following sets
-@@ -139,7 +156,7 @@ Note that it does
+ .Va chararray
+@@ -128,7 +143,7 @@
.Em not
.Tn NUL
terminate
@@ -121,37 +110,24 @@
because the length of the source string is greater than or equal
to the length argument.
.Pp
-@@ -169,21 +186,26 @@ This could be better achieved using
- as shown in the following example:
+@@ -159,7 +174,7 @@
.Pp
.Dl "(void)strlcpy(buf, input, sizeof(buf));"
--.Pp
+ .Pp
-Note that because
--.Xr strlcpy 3
--is not defined in any standards, it should
--only be used when portability is not a concern.
- .Sh SECURITY CONSIDERATIONS
++Note that, because
+ .Xr strlcpy 3
+ is not defined in any standards, it should
+ only be used when portability is not a concern.
+@@ -179,11 +194,6 @@
+ .Xr memcpy 3 ,
+ .Xr memmove 3 ,
+ .Xr strlcpy 3
+-.Rs
+-.%T "The FreeBSD Security Architecture"
+-.Re
+-(See
+-.Pa "/usr/share/doc/{to be decided}" . )
+ .Sh STANDARDS
The
--.Fn strcpy
--function is easily misused in a manner which enables malicious users
-+.Fn strcpy ,
-+.Fn strncpy ,
-+.Fn stpcpy ,
-+and
-+.Fn stpncpy
-+functions are easily misused in a manner which enables malicious users
- to arbitrarily change a running program's functionality through a
- buffer overflow attack.
- (See
- the FSA
- and
- .Sx EXAMPLES . )
-+.Pp
-+It is recommended that
-+.Xr strlcpy 3
-+be used instead as a way to avoid such problems.
-+.Xr strlcpy 3
-+is not defined in any standards, but it has been adopted by most major libc implementations.
- .Sh SEE ALSO
- .Xr bcopy 3 ,
- .Xr memccpy 3 ,
+ .Fn strcpy