X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Fbasic%2Ffileio.c;fp=src%2Fbasic%2Ffileio.c;h=5e7b63dbff1dc120a3cb4a7de62b889e26e8334c;hp=411c8601b95d36a7f4f424357f8a816f75fd752b;hb=48327b6bd2b0b7bd2697ccc79dd26d160015af78;hpb=2ac8af71ede1796f39d261203ddd16f9b6c4e0ca diff --git a/src/basic/fileio.c b/src/basic/fileio.c index 411c8601b..5e7b63dbf 100644 --- a/src/basic/fileio.c +++ b/src/basic/fileio.c @@ -30,6 +30,7 @@ #include "alloc-util.h" #include "ctype.h" +#include "env-util.h" #include "escape.h" #include "fd-util.h" #include "fileio.h" @@ -678,13 +679,15 @@ static int load_env_file_push( if (r < 0) return r; - p = strjoin(key, "=", strempty(value)); + p = strjoin(key, "=", value); if (!p) return -ENOMEM; - r = strv_consume(m, p); - if (r < 0) + r = strv_env_replace(m, p); + if (r < 0) { + free(p); return r; + } if (n_pushed) (*n_pushed)++;