URL: https://github.com/SSSD/sssd/pull/161
Author: sumit-bose
 Title: #161: pam_sss: check conversation callback
Action: opened

PR body:
"""
With this patch pam_sss checks if a conversation callback is available
before using it.

Resolves https://fedorahosted.org/sssd/ticket/3296

There is currently no test because I'm waiting for the pam-wrapper based tests
to be committed to add a test there.
"""

To pull the PR as Git branch:
git remote add ghsssd https://github.com/SSSD/sssd
git fetch ghsssd pull/161/head:pr161
git checkout pr161
From 1bf9821133782c241f75bb0c86fcd0d63ebd7442 Mon Sep 17 00:00:00 2001
From: Sumit Bose <sb...@redhat.com>
Date: Wed, 22 Feb 2017 11:39:48 +0100
Subject: [PATCH] pam_sss: check conversation callback

With this patch pam_sss checks if a conversation callback is available
before using it.

Resolves https://fedorahosted.org/sssd/ticket/3296
---
 src/sss_client/pam_sss.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/src/sss_client/pam_sss.c b/src/sss_client/pam_sss.c
index b4175ae..03613b8 100644
--- a/src/sss_client/pam_sss.c
+++ b/src/sss_client/pam_sss.c
@@ -205,6 +205,10 @@ static int do_pam_conversation(pam_handle_t *pamh, const int msg_style,
 
     ret=pam_get_item(pamh, PAM_CONV, (const void **) &conv);
     if (ret != PAM_SUCCESS) return ret;
+    if (conv == NULL || conv->conv == NULL) {
+        logger(pamh, LOG_ERR, "No conversation function");
+        return PAM_SYSTEM_ERR;
+    }
 
     do {
         pam_msg = malloc(sizeof(struct pam_message));
@@ -1304,6 +1308,10 @@ static int prompt_2fa(pam_handle_t *pamh, struct pam_items *pi,
     if (ret != PAM_SUCCESS) {
         return ret;
     }
+    if (conv == NULL || conv->conv == NULL) {
+        logger(pamh, LOG_ERR, "No conversation function");
+        return PAM_SYSTEM_ERR;
+    }
 
     m[0].msg_style = PAM_PROMPT_ECHO_OFF;
     m[0].msg = prompt_fa1;
_______________________________________________
sssd-devel mailing list -- sssd-devel@lists.fedorahosted.org
To unsubscribe send an email to sssd-devel-le...@lists.fedorahosted.org

Reply via email to