From c4d10f78b3946fc32624d78c038e9731ca2ce454 Mon Sep 17 00:00:00 2001 From: liningjie Date: Tue, 15 Aug 2023 00:54:28 +0800 Subject: [PATCH] PR/310: p870613: Don't use strlcpy to copy the string, it will try to scan the source string to find out how much space is needed the source string might not be NUL terminated. --- src/funcs.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/funcs.c b/src/funcs.c index 33c3f85..295fb75 100644 --- a/src/funcs.c +++ b/src/funcs.c @@ -54,9 +54,12 @@ FILE_RCSID("@(#)$File: funcs.c,v 1.122 2021/06/30 10:08:48 christos Exp $") protected char * file_copystr(char *buf, size_t blen, size_t width, const char *str) { - if (++width > blen) - width = blen; - strlcpy(buf, str, width); + if (blen == 0) + return buf; + if (width >= blen) + width = blen - 1; + memcpy(buf, str, width); + buf[width] = '\0'; return buf; } -- 2.33.0