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; |