From ad48cc6f81ae17f41384c706b818ddca52e0f1d1 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Sat, 17 Feb 2024 16:50:42 +0900 Subject: [PATCH] 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. --- src/core/unit.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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; } -- 2.47.3