core: process C-style escapes in UnsetEnvironment=
authorLennart Poettering <lennart@poettering.net>
Tue, 21 Nov 2017 18:50:52 +0000 (19:50 +0100)
committerLennart Poettering <lennart@poettering.net>
Wed, 29 Nov 2017 11:32:56 +0000 (12:32 +0100)
We process C-style escapes in Environment=, hence we should process it
in UnsetEnvironment= too, as the latter accepts assignments much like
the former, including arbitrary values specified by the user.

src/core/load-fragment.c

index ac58ce8..220e617 100644 (file)
@@ -2474,7 +2474,7 @@ int config_parse_unset_environ(
         for (;;) {
                 _cleanup_free_ char *word = NULL, *k = NULL;
 
-                r = extract_first_word(&rvalue, &word, NULL, EXTRACT_QUOTES);
+                r = extract_first_word(&rvalue, &word, NULL, EXTRACT_CUNESCAPE|EXTRACT_QUOTES);
                 if (r == 0)
                         break;
                 if (r == -ENOMEM)