From: Ludwig Nussel Date: Wed, 23 Feb 2022 07:49:56 +0000 (+0100) Subject: logind: fix handle_action_valid() X-Git-Tag: v251-rc1~209^2~2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9fa9c66dbdc007313772c92436a96e5e62fd638e;p=thirdparty%2Fsystemd.git logind: fix handle_action_valid() --- diff --git a/src/login/logind-action.h b/src/login/logind-action.h index 621c5f97bc6..4dcf719488d 100644 --- a/src/login/logind-action.h +++ b/src/login/logind-action.h @@ -21,7 +21,7 @@ typedef enum HandleAction { typedef struct ActionTableItem ActionTableItem; -#define handle_action_valid(x) (x && (x < _HANDLE_ACTION_MAX)) +#define handle_action_valid(x) (x >= 0 && x < _HANDLE_ACTION_MAX) #include "logind-inhibit.h" #include "logind.h" diff --git a/src/login/logind-button.c b/src/login/logind-button.c index 0f4e1f1b417..a2b43d36843 100644 --- a/src/login/logind-button.c +++ b/src/login/logind-button.c @@ -84,7 +84,7 @@ static void button_lid_switch_handle_action(Manager *manager, bool is_edge) { * differently */ if (manager_is_docked_or_external_displays(manager)) handle_action = manager->handle_lid_switch_docked; - else if (!handle_action_valid(manager->handle_lid_switch_ep) && manager_is_on_external_power()) + else if (handle_action_valid(manager->handle_lid_switch_ep) && manager_is_on_external_power()) handle_action = manager->handle_lid_switch_ep; else handle_action = manager->handle_lid_switch;