From: Harald Hoyer Date: Fri, 23 Aug 2013 16:46:06 +0000 (+0200) Subject: cgroup.c: check return value of unit_realize_cgroup_now() X-Git-Tag: v207~89 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=1f11a0cdfe397cc404d61ee679fc12f58c0a885b cgroup.c: check return value of unit_realize_cgroup_now() do not recurse further, if unit_realize_cgroup_now() failed --- diff --git a/src/core/cgroup.c b/src/core/cgroup.c index 5a1c3adac..50b17f380 100644 --- a/src/core/cgroup.c +++ b/src/core/cgroup.c @@ -432,8 +432,13 @@ static int unit_realize_cgroup_now(Unit *u) { return 0; /* First, realize parents */ - if (UNIT_ISSET(u->slice)) - unit_realize_cgroup_now(UNIT_DEREF(u->slice)); + if (UNIT_ISSET(u->slice)) { + int r; + + r = unit_realize_cgroup_now(UNIT_DEREF(u->slice)); + if (r < 0) + return r; + } /* And then do the real work */ return unit_create_cgroups(u, mask);