From: Lennart Poettering Date: Wed, 27 Apr 2011 23:26:39 +0000 (+0200) Subject: unit: fix assert when trying to load unit instances for uninstanciable types X-Git-Tag: v26~10 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=796ba5549416b8a2c037da1d40fa76cb1a53f5df unit: fix assert when trying to load unit instances for uninstanciable types http://lists.freedesktop.org/archives/systemd-devel/2011-April/001910.html --- 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. */