Need to escape ; twice because the command list parser will eat one,

reported by Theo Buehler.
This commit is contained in:
nicm 2017-01-10 18:10:24 +00:00
parent 5ea7a00eba
commit aa4de2d4b2

6
cmd.c
View File

@ -690,10 +690,14 @@ cmd_template_replace(const char *template, const char *s, int idx)
if (quoted)
ptr++;
buf = xrealloc(buf, len + (strlen(s) * 2) + 1);
buf = xrealloc(buf, len + (strlen(s) * 3) + 1);
for (cp = s; *cp != '\0'; cp++) {
if (quoted && strchr(quote, *cp) != NULL)
buf[len++] = '\\';
if (quoted && *cp == ';') {
buf[len++] = '\\';
buf[len++] = '\\';
}
buf[len++] = *cp;
}
buf[len] = '\0';