From: Mantas Mikulėnas Date: Sun, 14 Apr 2013 11:54:09 +0000 (+0300) Subject: fileio: also escape $ and ` when writing out env vars X-Git-Tag: v202~53 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=ced2d10a28cff3bab6fb613652db5abde8ed940e fileio: also escape $ and ` when writing out env vars These are also considered special by sh and bash. --- diff --git a/src/shared/fileio.c b/src/shared/fileio.c index 400a41616..617afeace 100644 --- a/src/shared/fileio.c +++ b/src/shared/fileio.c @@ -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);