summaryrefslogtreecommitdiffstats
path: root/contrib/openpam/lib/pam_get_user.c
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/openpam/lib/pam_get_user.c')
-rw-r--r--contrib/openpam/lib/pam_get_user.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/contrib/openpam/lib/pam_get_user.c b/contrib/openpam/lib/pam_get_user.c
index 413056c..2e8e342 100644
--- a/contrib/openpam/lib/pam_get_user.c
+++ b/contrib/openpam/lib/pam_get_user.c
@@ -31,7 +31,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $P4: //depot/projects/openpam/lib/pam_get_user.c#18 $
+ * $P4: //depot/projects/openpam/lib/pam_get_user.c#19 $
*/
#include <sys/param.h>
@@ -57,6 +57,7 @@ pam_get_user(pam_handle_t *pamh,
const char **user,
const char *prompt)
{
+ const void *promptp;
char *resp;
int r;
@@ -67,9 +68,11 @@ pam_get_user(pam_handle_t *pamh,
if (r == PAM_SUCCESS && *user != NULL)
RETURNC(PAM_SUCCESS);
if (prompt == NULL) {
- r = pam_get_item(pamh, PAM_USER_PROMPT, (const void **)&prompt);
- if (r != PAM_SUCCESS || prompt == NULL)
+ r = pam_get_item(pamh, PAM_USER_PROMPT, &promptp);
+ if (r != PAM_SUCCESS || promptp == NULL)
prompt = user_prompt;
+ else
+ prompt = promptp;
}
r = pam_prompt(pamh, PAM_PROMPT_ECHO_ON, &resp, "%s", prompt);
if (r != PAM_SUCCESS)
OpenPOWER on IntegriCloud