From a2733e1619e4d2c0060930a0f75dafd271e3a81f Mon Sep 17 00:00:00 2001 From: millert <> Date: Mon, 7 May 2001 15:51:54 +0000 Subject: [PATCH] Document boundary condition when size < strlen(dst). --- src/lib/libc/string/strlcpy.3 | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/src/lib/libc/string/strlcpy.3 b/src/lib/libc/string/strlcpy.3 index c1e8a0d5..3d50e0b0 100644 --- a/src/lib/libc/string/strlcpy.3 +++ b/src/lib/libc/string/strlcpy.3 @@ -1,4 +1,4 @@ -.\" $OpenBSD: strlcpy.3,v 1.11 2000/11/16 23:27:41 angelos Exp $ +.\" $OpenBSD: strlcpy.3,v 1.12 2001/05/07 15:51:54 millert Exp $ .\" .\" Copyright (c) 1998, 2000 Todd C. Miller .\" All rights reserved. @@ -118,6 +118,25 @@ the length of .Fa src . While this may seem somewhat confusing it was done to make truncation detection simple. +.Pp +Note however, that if +.Fn strlcat +traverses +.Fa size +characters without finding a NUL, the length of the string is considered +to be +.Fa size . +This keeps +.Fn strlcat +from running off the end of a string. +In practice this should not happen (as it means that either +.Fa size +is incorrect or that +.Fa dst +is not a proper +.Dq C +string). +The check exists to prevent potential security problems in incorrect code. .Sh EXAMPLES The following code fragment illustrates the simple case: .Bd -literal -offset indent