ports/devel/tradcpp/patches/patch-macro_c

31 lines
834 B
Text
Raw Normal View History

2023-08-16 22:26:55 +00:00
Index: macro.c
--- macro.c.orig
+++ macro.c
@@ -850,20 +850,20 @@ expand_substitute(struct place *p, struct expstate *es
ei = expansionitemarray_get(&es->curmacro->expansion, i);
switch (ei->itemtype) {
case EI_STRING:
- strcat(ret, ei->ei_string);
+ strlcat(ret, ei->ei_string, len + 1);
break;
case EI_PARAM:
arg = stringarray_get(&es->args, ei->ei_param);
- strcat(ret, arg);
+ strlcat(ret, arg, len + 1);
break;
case EI_FILE:
- strcat(ret, "\"");
- strcat(ret, place_getname(p));
- strcat(ret, "\"");
+ strlcat(ret, "\"", len + 1);
+ strlcat(ret, place_getname(p), len + 1);
+ strlcat(ret, "\"", len + 1);
break;
case EI_LINE:
snprintf(numbuf, sizeof(numbuf), "%u", p->line);
- strcat(ret, numbuf);
+ strlcat(ret, numbuf, len + 1);
break;
}
}