core: adjust unit_get_ancestor_memory_{low,min}() to work with units which don't have a CGroupContext

Coverity doesn't like the fact that unit_get_cgroup_context() returns NULL for
unit types that don't have a CGroupContext. We don't expect to call those
functions with such unit types, so this isn't an immediate problem, but we can
make things more robust by handling this case.

CID #1400683, #1400684.
This commit is contained in:
Zbigniew Jędrzejewski-Szmek
2019-04-25 11:13:02 +02:00
parent b6411f716c
commit c5322608a5
+3 -6
View File
@@ -403,15 +403,12 @@ int cgroup_add_device_allow(CGroupContext *c, const char *dev, const char *mode)
assert(u); \
\
c = unit_get_cgroup_context(u); \
\
if (c->entry##_set) \
if (c && c->entry##_set) \
return c->entry; \
\
while (UNIT_ISSET(u->slice)) { \
u = UNIT_DEREF(u->slice); \
while ((u = UNIT_DEREF(u->slice))) { \
c = unit_get_cgroup_context(u); \
\
if (c->default_##entry##_set) \
if (c && c->default_##entry##_set) \
return c->default_##entry; \
} \
\