fileio: also escape $ and ` when writing out env vars

These are also considered special by sh and bash.
This commit is contained in:
Mantas Mikulėnas
2013-04-17 00:32:02 -04:00
committed by Zbigniew Jędrzejewski-Szmek
parent a1c6506214
commit ced2d10a28
+2 -2
View File
@@ -529,11 +529,11 @@ static void write_env_var(FILE *f, const char *v) {
p++;
fwrite(v, 1, p-v, f);
if (string_has_cc(p) || chars_intersect(p, WHITESPACE "\'\"\\")) {
if (string_has_cc(p) || chars_intersect(p, WHITESPACE "\'\"\\`$")) {
fputc('\"', f);
for (; *p; p++) {
if (strchr("\'\"\\", *p))
if (strchr("\'\"\\`$", *p))
fputc('\\', f);
fputc(*p, f);