summaryrefslogtreecommitdiff
path: root/pam
diff options
context:
space:
mode:
authorBenjamin Berg <bberg@redhat.com>2020-12-10 15:37:45 +0100
committerBenjamin Berg <bberg@redhat.com>2020-12-11 10:34:51 +0100
commit1fc10f15eeac5a7e2efbf01dc4a8b0ca6ec0e8e0 (patch)
tree8840374fc7d802e7437e48b86e2a7ac79b718143 /pam
parentc24badfd68cc19b751727c2f0ed61e80c6599ac4 (diff)
pam: Stop authorization if we couldn't parse signals
This really should never ever happen. If it does, don't continue but stop instead.
Diffstat (limited to 'pam')
-rw-r--r--pam/pam_fprintd.c3
1 files changed, 3 insertions, 0 deletions
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;
}