From 1fc10f15eeac5a7e2efbf01dc4a8b0ca6ec0e8e0 Mon Sep 17 00:00:00 2001 From: Benjamin Berg Date: Thu, 10 Dec 2020 15:37:45 +0100 Subject: [PATCH] pam: Stop authorization if we couldn't parse signals This really should never ever happen. If it does, don't continue but stop instead. --- pam/pam_fprintd.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pam/pam_fprintd.c b/pam/pam_fprintd.c index 51918b8..021f168 100644 --- a/pam/pam_fprintd.c +++ b/pam/pam_fprintd.c @@ -208,6 +208,7 @@ verify_result (sd_bus_message *m, if ((r = sd_bus_message_read (m, "sb", &result, &done)) < 0) { pam_syslog (data->pamh, LOG_ERR, "Failed to parse VerifyResult signal: %d", r); + data->verify_ret = PAM_AUTHINFO_UNAVAIL; return 0; } @@ -255,6 +256,7 @@ verify_finger_selected (sd_bus_message *m, if (sd_bus_message_read_basic (m, 's', &finger_name) < 0) { pam_syslog (data->pamh, LOG_ERR, "Failed to parse VerifyFingerSelected signal: %d", errno); + data->verify_ret = PAM_AUTHINFO_UNAVAIL; return 0; } @@ -630,6 +632,7 @@ name_owner_changed (sd_bus_message *m, if (sd_bus_message_read (m, "sss", &name, &old_owner, &new_owner) < 0) { pam_syslog (data->pamh, LOG_ERR, "Failed to parse NameOwnerChanged signal: %d", errno); + data->verify_ret = PAM_AUTHINFO_UNAVAIL; return 0; }