From: Yu Watanabe Date: Sat, 17 Feb 2024 07:50:42 +0000 (+0900) Subject: core/unit: fix superficial NULL-pointer dereference X-Git-Tag: v256-rc1~828^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ad48cc6f81ae17f41384c706b818ddca52e0f1d1;p=thirdparty%2Fsystemd.git core/unit: fix superficial NULL-pointer dereference Though, when unit_prepare_exec() is called, the unit should always have the cgroup runtime context 'crt'. So, I think we can insert assert(). But, for consistency with other places that call unit_get_cgroup_runtime(), here use the simple non-NULL check for 'crt' instead of using assert(). Follow-up for 9cc545447e31ed38d71c00d5957c4dee0b5bce97. Fixes CID#1534667. --- diff --git a/src/core/unit.c b/src/core/unit.c index df99fff9d27..2c6a0b3e572 100644 --- a/src/core/unit.c +++ b/src/core/unit.c @@ -5813,7 +5813,7 @@ int unit_prepare_exec(Unit *u) { (void) unit_realize_cgroup(u); CGroupRuntime *crt = unit_get_cgroup_runtime(u); - if (crt->reset_accounting) { + if (crt && crt->reset_accounting) { (void) unit_reset_accounting(u); crt->reset_accounting = false; }