From bcd8e6d1bd3f434af894faeb400fee0e99445a7f Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Tue, 1 Oct 2013 00:08:30 +0200 Subject: local: fix memory leak when putting together locale settings Also, we need to use proper strv_env_xyz() calls when putting together the environment array, since otherwise settings won't be properly overriden. And let's get rid of strv_appendf(), is overkill and there was only one user. --- src/core/manager.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/core/manager.c') diff --git a/src/core/manager.c b/src/core/manager.c index bc57e4a1fd..58dacdc8b5 100644 --- a/src/core/manager.c +++ b/src/core/manager.c @@ -2665,14 +2665,16 @@ void manager_undo_generators(Manager *m) { } int manager_environment_add(Manager *m, char **environment) { - char **e = NULL; assert(m); + e = strv_env_merge(2, m->environment, environment); if (!e) return -ENOMEM; + strv_free(m->environment); m->environment = e; + return 0; } -- cgit v1.2.3-54-g00ecf