From: Zbigniew Jędrzejewski-Szmek Date: Sat, 20 May 2017 23:34:50 +0000 (-0400) Subject: core/load-droping: avoid oom warning when the unit symlink is not a template X-Git-Tag: v234~182^2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F6000%2Fhead;p=thirdparty%2Fsystemd.git core/load-droping: avoid oom warning when the unit symlink is not a template unit_name_template returns -EINVAL if the unit name is not a template, but the code assumed that OOM is the only failure mode. Fix that to emit the warning if a non-template unit is encountered (because in this case we expect the name to match exactly), and just skip the warning on other errors (presumably oom). Fixes #5543. --- diff --git a/src/core/load-dropin.c b/src/core/load-dropin.c index ff3636149a8..3180f911bb7 100644 --- a/src/core/load-dropin.c +++ b/src/core/load-dropin.c @@ -38,10 +38,12 @@ static bool unit_name_compatible(const char *a, const char *b) { return true; r = unit_name_template(a, &prefix); - if (r < 0) { - log_oom(); + if (r == -EINVAL) + /* not a template */ + return false; + if (r < 0) + /* oom, or some other failure. Just skip the warning. */ return true; - } /* an instance name points to a target that is just the template name */ if (streq(prefix, b))