chiark / gitweb /
basic/env-util: drop the validation when deserializing environment
authorLubomir Rintel <lkundrak@v3.sk>
Wed, 11 Oct 2017 07:29:30 +0000 (09:29 +0200)
committerSven Eden <yamakuzure@gmx.net>
Wed, 11 Oct 2017 07:29:30 +0000 (09:29 +0200)
The environment variables we've serialized can quite possibly contain
characters outside the set allowed by env_assignment_is_valid(). In
fact, my environment seems to contain a couple of these:

  * TERMCAP set by screen contains a '\x7f' character
  * BASH_FUNC_module%% variable has a '%' character in name

Strict check of environment variables name and value certainly makes sense for
unit files, but not so much for deserialization of values we already had
in our environment.

src/basic/env-util.c

index f533b22ef0d1eda04742ef151e0f80cd9e0b5e78..95a78ccfb1b3dba813d4bcaddf023d3f4035e625 100644 (file)
@@ -810,11 +810,6 @@ int deserialize_environment(char ***environment, const char *line) {
         if (r < 0)
                 return r;
 
-        if (!env_assignment_is_valid(uce)) {
-                free(uce);
-                return -EINVAL;
-        }
-
         return strv_env_replace(environment, uce);
 }
 #endif // 0