summaryrefslogtreecommitdiff
path: root/src/basic
diff options
context:
space:
mode:
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2016-11-17 16:25:01 -0500
committerMartin Pitt <martin.pitt@ubuntu.com>2016-11-17 22:25:01 +0100
commita1e45b8ba3b8695d02cc12b42c46af6066f59766 (patch)
treeb5f2dec39e98f5e23cf4493426a57e34656cfc6c /src/basic
parent375fd1559b8fd3ece42716af3b8d25bc46fbd6fa (diff)
basic/env-uil: fix assertion failure in strv_env_replace (#4688)
free_and_replace sets the setcond argument to NULL (it's designed to be used with _clenaup_ macros), and we don't want that here. Fixes #4684.
Diffstat (limited to 'src/basic')
-rw-r--r--src/basic/env-util.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/basic/env-util.c b/src/basic/env-util.c
index 7c69ccdaf9..96da38d45e 100644
--- a/src/basic/env-util.c
+++ b/src/basic/env-util.c
@@ -395,7 +395,8 @@ int strv_env_replace(char ***l, char *p) {
for (f = *l; f && *f; f++)
if (env_match(*f, p)) {
- free_and_replace(*f, p);
+ free(*f);
+ *f = p;
strv_env_unset(f + 1, p);
return 0;
}