1
0
mirror of https://github.com/Yubico/yubico-pam.git synced 2025-03-15 18:29:16 +01:00

Avoid use of asprintf, to fix Solaris.

Suggested by Martin Englund <Martin.Englund@Sun.COM>.
This commit is contained in:
Simon Josefsson 2009-01-13 10:44:02 +00:00
parent 88599ec2c8
commit 4711cf7c12

View File

@ -1,5 +1,5 @@
/* /*
* Copyright 2007, 2008 Simon Josefsson. * Copyright 2007, 2008, 2009 Simon Josefsson.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions * modification, are permitted provided that the following conditions
@ -258,7 +258,25 @@ pam_sm_authenticate (pam_handle_t * pamh,
} }
pmsg[0] = &msg[0]; pmsg[0] = &msg[0];
asprintf ((char **) &msg[0].msg, "Yubikey for `%s': ", user); {
const char *query_template = "Yubikey for `%s': ";
size_t len = strlen (query_template) + strlen (user);
size_t wrote;
msg[0].msg = malloc (len);
if (!msg[0].msg)
{
retval = PAM_BUF_ERR;
goto done;
}
wrote = snprintf ((char *) msg[0].msg, len, query_template, user);
if (wrote < 0 || wrote >= len)
{
retval = PAM_BUF_ERR;
goto done;
}
}
msg[0].msg_style = PAM_PROMPT_ECHO_OFF; msg[0].msg_style = PAM_PROMPT_ECHO_OFF;
resp = NULL; resp = NULL;
@ -329,9 +347,8 @@ pam_sm_authenticate (pam_handle_t * pamh,
} }
/* validate the user with supplied token id */ /* validate the user with supplied token id */
valid_token = valid_token = validate_user_token (auth_file, (const char *) user,
validate_user_token (auth_file, (const char *) user, (const char *) token_id);
(const char *) token_id);
if (password != NULL) if (password != NULL)
{ {