From c4ad8365d53f3d14edf0dd7a0fce7962c34d381f Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Thu, 19 Jun 2025 18:26:54 +0200 Subject: [PATCH 1/2] logind: fix minor coding style issues Fixes: #35565 --- src/login/logind-dbus.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/login/logind-dbus.c b/src/login/logind-dbus.c index 22dd11190a..56dd350661 100644 --- a/src/login/logind-dbus.c +++ b/src/login/logind-dbus.c @@ -2054,17 +2054,17 @@ int manager_dispatch_delayed(Manager *manager, bool timeout) { if (!manager->delayed_action || manager->action_job) return 0; - if (manager_is_inhibited(manager, - manager->delayed_action->inhibit_what, - NULL, - MANAGER_IS_INHIBITED_CHECK_DELAY, - UID_INVALID, - &offending)) { - _cleanup_free_ char *comm = NULL, *u = NULL; - + if (manager_is_inhibited( + manager, + manager->delayed_action->inhibit_what, + /* since= */ NULL, + MANAGER_IS_INHIBITED_CHECK_DELAY, + UID_INVALID, + &offending)) { if (!timeout) return 0; + _cleanup_free_ char *comm = NULL, *u = NULL; (void) pidref_get_comm(&offending->pid, &comm); u = uid_to_name(offending->uid); From 897c4ff11153eb1e640fce52e93d72d5939a2789 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Thu, 19 Jun 2025 18:27:06 +0200 Subject: [PATCH 2/2] logind: fix boolean comparison We cannot compare a boolean with a bit mask. This worked only by accident, since MANAGER_IS_INHIBITED_CHECK_DELAY happened to be 1. But we need to do this properly. Fixes: #35565 --- src/login/logind-inhibit.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/login/logind-inhibit.c b/src/login/logind-inhibit.c index 4614609e8a..2ef15588f2 100644 --- a/src/login/logind-inhibit.c +++ b/src/login/logind-inhibit.c @@ -421,10 +421,10 @@ bool manager_is_inhibited( if (!(i->what & w)) continue; - if ((flags & MANAGER_IS_INHIBITED_CHECK_DELAY) != (i->mode == INHIBIT_DELAY)) + if (FLAGS_SET(flags, MANAGER_IS_INHIBITED_CHECK_DELAY) != (i->mode == INHIBIT_DELAY)) continue; - if ((flags & MANAGER_IS_INHIBITED_IGNORE_INACTIVE) && + if (FLAGS_SET(flags, MANAGER_IS_INHIBITED_IGNORE_INACTIVE) && pidref_is_active_session(m, &i->pid) <= 0) continue;