fileio: also escape $ and ` when writing out env vars
These are also considered special by sh and bash.
This commit is contained in:
committed by
Zbigniew Jędrzejewski-Szmek
parent
a1c6506214
commit
ced2d10a28
+2
-2
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user