diff options
Diffstat (limited to '')
| -rw-r--r-- | src/cerberus.c | 1 | ||||
| -rw-r--r-- | src/pam.c | 4 | 
2 files changed, 3 insertions, 2 deletions
| diff --git a/src/cerberus.c b/src/cerberus.c index 94dc183..03a7a75 100644 --- a/src/cerberus.c +++ b/src/cerberus.c @@ -214,7 +214,6 @@ void do_login(int argc, char** argv)    username = entry->pw_name; -      /* Verify passphrase or other token, if -f has not been used */    initialise_pam(hostname, username, read_passphrase);    if ((skip_auth == 0) && authenticate_pam()) @@ -216,7 +216,7 @@ char authenticate_pam(void)   *    * @param   num_msg      Number of pointers in the array `msg`   * @param   msg          Message from PAM - * @param   resp         Responses to PAM for by index corresponding messages + * @param   resp         Pointer to responses to PAM for by index corresponding messages   * @param   appdata_ptr  (Not used)   * @return               `PAM_SUCCESS`, `PAM_CONV_ERR` or `PAM_BUF_ERR`   */ @@ -226,6 +226,8 @@ int conv_pam(int num_msg, const struct pam_message** msg, struct pam_response**    (void) appdata_ptr; +  *resp = calloc(num_msg, sizeof(struct pam_response)); +      for (i = 0; i < num_msg; i++)      {        ((*resp) + i)->resp = NULL; | 
