From 15e11d81e7c26439f583e1cf67ac3c712430a79e Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Tue, 28 Jun 2011 02:53:15 +0200 Subject: unit: when loading symlinked template units, properly add all names on the way to the unit --- src/load-fragment.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'src/load-fragment.c') diff --git a/src/load-fragment.c b/src/load-fragment.c index 56eaed9ab4..352db6b385 100644 --- a/src/load-fragment.c +++ b/src/load-fragment.c @@ -1661,13 +1661,16 @@ static int open_follow(char **filename, FILE **_f, Set *names, char **_final) { * unit name. */ name = file_name_from_path(*filename); - if (unit_name_is_valid(name, false)) { - if (!(id = set_get(names, name))) { + if (unit_name_is_valid(name, true)) { - if (!(id = strdup(name))) + id = set_get(names, name); + if (!id) { + id = strdup(name); + if (!id) return -ENOMEM; - if ((r = set_put(names, id)) < 0) { + r = set_put(names, id); + if (r < 0) { free(id); return r; } -- cgit v1.2.3-54-g00ecf