From: Zbigniew Jędrzejewski-Szmek Date: Mon, 15 Feb 2021 13:10:30 +0000 (+0100) Subject: manager: fix memleak on repeated systemd.setenv keys X-Git-Tag: v248-rc1~92^2~7 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=b70935ac65be05087a1a694ee19488cb7fce926d;p=thirdparty%2Fsystemd.git manager: fix memleak on repeated systemd.setenv keys --- diff --git a/src/core/main.c b/src/core/main.c index 85bf558e90f..1d9dec55c37 100644 --- a/src/core/main.c +++ b/src/core/main.c @@ -452,16 +452,13 @@ static int parse_proc_cmdline_item(const char *key, const char *value, void *dat if (proc_cmdline_value_missing(key, value)) return 0; - if (env_assignment_is_valid(value)) { - char **env; - - env = strv_env_set(arg_default_environment, value); - if (!env) + if (!env_assignment_is_valid(value)) + log_warning("Environment variable assignment '%s' is not valid. Ignoring.", value); + else { + r = strv_env_replace_strdup(&arg_default_environment, value); + if (r < 0) return log_oom(); - - arg_default_environment = env; - } else - log_warning("Environment variable name '%s' is not valid. Ignoring.", value); + } } else if (proc_cmdline_key_streq(key, "systemd.machine_id")) {