From 796ba5549416b8a2c037da1d40fa76cb1a53f5df Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Thu, 28 Apr 2011 01:26:39 +0200 Subject: [PATCH] unit: fix assert when trying to load unit instances for uninstanciable types http://lists.freedesktop.org/archives/systemd-devel/2011-April/001910.html --- TODO | 4 ---- src/unit.c | 4 +++- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/TODO b/TODO index a7a4fc065..106ee974d 100644 --- a/TODO +++ b/TODO @@ -2,8 +2,6 @@ F15: * swap units that are activated by one name but shown in the kernel under another are semi-broken -* Fix assert http://lists.freedesktop.org/archives/systemd-devel/2011-April/001910.html - * 0595f9a1c182a84581749823ef47c5f292e545f9 is borked, freezes shutdown (path: after installing inotify watches, recheck file again to fix race) @@ -38,8 +36,6 @@ Features: * ensure we strip empty directories from search path -* maybe lower default timeout to 2min? - * GC unreferenced jobs (such as .device jobs) * support wildcard expansion in ListenStream= and friends diff --git a/src/unit.c b/src/unit.c index aed25e4f2..b7ff0c51f 100644 --- a/src/unit.c +++ b/src/unit.c @@ -118,8 +118,10 @@ int unit_add_name(Unit *u, const char *text) { if ((r = unit_name_to_instance(s, &i)) < 0) goto fail; - if (i && unit_vtable[t]->no_instances) + if (i && unit_vtable[t]->no_instances) { + r = -EINVAL; goto fail; + } /* Ensure that this unit is either instanced or not instanced, * but not both. */ -- 2.30.2