Re: [PATCH v2 1/3] Doc: deprecated.rst: add strlcat()
Randy Dunlap <[email protected]>
| Newsgroups | org.kernel.vger.workflows,org.kernel.vger.linux-doc,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
On 5/14/26 9:31 AM, Kees Cook wrote: > On Thu, May 14, 2026 at 06:26:53PM +0200, Manuel Ebner wrote: >> add strlcat and alternatives >> >> Signed-off-by: Manuel Ebner <[email protected]> >> --- >> Documentation/process/deprecated.rst | 7 +++++++ >> 1 file changed, 7 insertions(+) >> >> diff --git a/Documentation/process/deprecated.rst b/Documentation/process/deprecated.rst >> index fed56864d036..06e802f4bbfd 100644 >> --- a/Documentation/process/deprecated.rst >> +++ b/Documentation/process/deprecated.rst >> @@ -153,6 +153,13 @@ used, and the destinations should be marked with the `__nonstring >> attribute to avoid future compiler warnings. For cases still needing >> NUL-padding, strtomem_pad() can be used. >> >> +strlcat() >> +--------- >> +strlcat() must re-scan the destination string from the beginning on each >> +call (O(n^2) behavior). Alternatives are seq_buf_puts() and seq_buf_printf(). >> +snprintf(), scnprintf() and sysfs_emit() are possible aswell, but the adoption >> +of the arguments needs to be taken care off. >> + > > How about just: > > strlcat() must re-scan the destination string from the beginning on each > call (O(n^2) behavior). Use the seq_buf API or similar instead. > Yeah, that avoids the "aswell" (should be "as well"). > >> strlcpy() >> --------- >> strlcpy() reads the entire source buffer first (since the return value >> -- >> 2.54.0 >> > -- ~Randy