X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fbasic%2Fenv-util.c;h=47c1fccd3b07eaabd65bdd02096168bbb7bf4307;hb=a59f0784861f4b36757dc42822ae42766998082e;hp=c41d9dad86ad0e419cb8899436d9625db67486f9;hpb=54225bd06a4e1486277639fd0c1518968f264b42;p=elogind.git diff --git a/src/basic/env-util.c b/src/basic/env-util.c index c41d9dad8..47c1fccd3 100644 --- a/src/basic/env-util.c +++ b/src/basic/env-util.c @@ -248,7 +248,7 @@ fail: return NULL; } -S + static bool env_match(const char *t, const char *pattern) { assert(t); assert(pattern); @@ -780,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() */ @@ -789,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); @@ -800,8 +800,10 @@ 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); }