From 41b7fedf9ed75f6dfa9fec03a70964b897fbf9ba Mon Sep 17 00:00:00 2001 From: Mike Yuan Date: Tue, 14 Mar 2023 06:56:17 +0800 Subject: [PATCH] systemctl: logind: add missing asserts (cherry picked from commit 9071eea01bd26d838bfd793db497efd849ad44da) Related: RHEL-109488 --- src/systemctl/systemctl-logind.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/systemctl/systemctl-logind.c b/src/systemctl/systemctl-logind.c index 1c3b68f09f..f910fe6675 100644 --- a/src/systemctl/systemctl-logind.c +++ b/src/systemctl/systemctl-logind.c @@ -21,6 +21,8 @@ static int logind_set_wall_message(sd_bus *bus) { _cleanup_free_ char *m = NULL; int r; + assert(bus); + m = strv_join(arg_wall, " "); if (!m) return log_oom(); @@ -55,7 +57,10 @@ int logind_reboot(enum action a) { sd_bus *bus; int r; - if (a < 0 || a >= _ACTION_MAX || !actions[a]) + assert(a >= 0); + assert(a < _ACTION_MAX); + + if (!actions[a]) return -EINVAL; r = acquire_bus(BUS_FULL, &bus); @@ -106,6 +111,9 @@ int logind_check_inhibitors(enum action a) { unsigned c = 0; int r; + assert(a >= 0); + assert(a < _ACTION_MAX); + if (arg_check_inhibitors == 0 || arg_force > 0) return 0;