X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fcore%2Fload-fragment.c;h=183c43d58fff73176960ae4f7f3f0199a9ea83f3;hb=e2f123b97b9af34f39cb18ce0c1c5ef6cb89117e;hp=99cf20dcce86bf1a667df218a57556465e21fdef;hpb=2b6bf07dd23bb467099d213c97b3875c5e453491;p=elogind.git diff --git a/src/core/load-fragment.c b/src/core/load-fragment.c index 99cf20dcc..183c43d58 100644 --- a/src/core/load-fragment.c +++ b/src/core/load-fragment.c @@ -2680,31 +2680,28 @@ int unit_load_fragment(Unit *u) { /* Look for a template */ if (u->load_state == UNIT_STUB && u->instance) { - char *k; + _cleanup_free_ char *k; k = unit_name_template(u->id); if (!k) return -ENOMEM; r = load_from_path(u, k); - free(k); - if (r < 0) return r; if (u->load_state == UNIT_STUB) SET_FOREACH(t, u->names, i) { + _cleanup_free_ char *z = NULL; if (t == u->id) continue; - k = unit_name_template(t); - if (!k) + z = unit_name_template(t); + if (!z) return -ENOMEM; - r = load_from_path(u, k); - free(k); - + r = load_from_path(u, z); if (r < 0) return r;