chiark / gitweb /
fileio: also escape $ and ` when writing out env vars
[elogind.git] / src / shared / fileio.c
index 400a416162639e164cabb3a0c08d184a6f3bc585..617afeace2bf0eb14930e4e60814b4326bc95ff3 100644 (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);