basic/env-util: don't relax unesaping of serialized environment strings

We wrote them ourselves -- they shouldn't contain invalid sequences.
This commit is contained in:
Lubomir Rintel
2017-10-11 15:05:38 +02:00
parent ea43bdd1d7
commit c7d797bbdf
2 changed files with 4 additions and 1 deletions
+1 -1
View File
@@ -805,7 +805,7 @@ int deserialize_environment(char ***environment, const char *line) {
assert(environment);
assert(startswith(line, "env="));
r = cunescape(line + 4, UNESCAPE_RELAX, &uce);
r = cunescape(line + 4, 0, &uce);
if (r < 0)
return r;
+3
View File
@@ -323,6 +323,9 @@ static void test_deserialize_environment(void) {
assert_se(deserialize_environment(&env, "env=FOO%%=a\\177b\\nc\\td e") >= 0);
assert_se(strv_equal(env, STRV_MAKE("A=1", "B=2", "FOO%%=a\177b\nc\td e")));
assert_se(deserialize_environment(&env, "env=foo\\") < 0);
assert_se(deserialize_environment(&env, "env=bar\\_baz") < 0);
}
static void test_serialize_environment(void) {