--- a/modules/core/mod_macro.c	2023/10/16 06:19:16	1912992
+++ b/modules/core/mod_macro.c	2023/10/16 06:38:32	1912993
@@ -483,7 +483,7 @@
     for (i = 0; i < contents->nelts; i++) {
         const char *errmsg;
         /* copy the line and substitute macro parameters */
-        strncpy(line, ((char **) contents->elts)[i], MAX_STRING_LEN - 1);
+        apr_cpystrn(line, ((char **) contents->elts)[i], MAX_STRING_LEN);
         errmsg = substitute_macro_args(line, MAX_STRING_LEN,
                                        macro, replacements, used);
         if (errmsg) {