chiark / gitweb /
basic/env-util: when serializing, actually use escaping
[elogind.git] / src / basic / env-util.c
index 1ec574e8a0e3d77a96bef77fb9cb2d29b2f4b974..47c1fccd3b07eaabd65bdd02096168bbb7bf4307 100644 (file)
@@ -122,6 +122,7 @@ bool env_assignment_is_valid(const char *e) {
         return true;
 }
 
+#if 0 /// UNNEEDED by elogind
 bool strv_env_is_valid(char **e) {
         char **p, **q;
 
@@ -779,7 +780,7 @@ int serialize_environment(FILE *f, char **environment) {
                 if (!ce)
                         return -ENOMEM;
 
-                fprintf(f, "env=%s\n", *e);
+                fprintf(f, "env=%s\n", ce);
         }
 
         /* caller should call ferror() */
@@ -788,7 +789,7 @@ int serialize_environment(FILE *f, char **environment) {
 }
 
 int deserialize_environment(char ***environment, const char *line) {
-        char *uce = NULL;
+        char *uce;
         int r;
 
         assert(line);
@@ -799,8 +800,11 @@ int deserialize_environment(char ***environment, const char *line) {
         if (r < 0)
                 return r;
 
-        if (!env_assignment_is_valid(uce))
+        if (!env_assignment_is_valid(uce)) {
+                free(uce);
                 return -EINVAL;
+        }
 
         return strv_env_replace(environment, uce);
 }
+#endif // 0