Science Fair Project Encyclopedia
Strlcpy
The strlcpy function, developed by Todd C. Miller and Theo de Raadt for use in the C programming language, is intended to replace unsafe functions like strcpy and strncpy. It is designed to copy the contents of a string from a source string to a destination string.
strlcpy(destination, source, size);
strlcpy offers two features that are designed to help software developers avoid problems. A string (of non-zero length) copied by strlcpy is always nul-terminated, making it simpler to locate the end of the string. The function takes the length of the destination, as a parameter, avoiding buffer overflows where a source string is bigger than a destination. For performance reasons, strlcpy does not fill any unused space in a destination string with zeros, unlike strncpy.
strlcpy was first introduced with OpenBSD version 2.4. It has subsequently been adopted by a number of operating systems including FreeBSD (from version 3.3), Solaris and Mac OS X.
Similarly, there is a secure variant of strcat, called strlcat.
External link
- strlcpy and strlcat--Consistent, Safe, String Copy and Concatenation - a paper written by Miller and de Raadt, presented at Usenix 99
The contents of this article is licensed from www.wikipedia.org under the GNU Free Documentation License. Click here to see the transparent copy and copyright details


