From 8e781e0b519e9de6821c4002582a76bcaffe91cf Mon Sep 17 00:00:00 2001 From: Andrew Wood Date: Sun, 3 Sep 2023 21:42:09 +0100 Subject: [PATCH] Enforce zero-termination of dst even if system strlcat() is available. --- src/pv/string.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/pv/string.c b/src/pv/string.c index c5de0f4..d0979a6 100644 --- a/src/pv/string.c +++ b/src/pv/string.c @@ -77,7 +77,14 @@ int pv_snprintf(char *str, size_t size, const char *format, ...) size_t pv_strlcat(char *dst, const char *src, size_t dstsize) { #ifdef HAVE_STRLCAT - return strlcat(dst, src, dstsize); + size_t result; + + result = strlcat(dst, src, dstsize); + + if ((NULL != dst) && (dstsize > 0)) + dst[dstsize - 1] = '\0'; + + return result; #else size_t dstlen, srclen, available;