|
Lines 145-160
static int PAM_conv (int num_msg,
Link Here
|
| 145 |
case PAM_PROMPT_ECHO_OFF: |
145 |
case PAM_PROMPT_ECHO_OFF: |
| 146 |
/* wants password */ |
146 |
/* wants password */ |
| 147 |
if (reply) { |
147 |
if (reply) { |
| 148 |
reply = realloc(reply, size); |
148 |
if((reply = realloc(reply, size)) == NULL) { |
|
|
149 |
free(reply); |
| 150 |
return PAM_CONV_ERR; |
| 151 |
} |
| 149 |
bzero(reply + size - PAM_RESPONSE_SIZE, PAM_RESPONSE_SIZE); |
152 |
bzero(reply + size - PAM_RESPONSE_SIZE, PAM_RESPONSE_SIZE); |
| 150 |
} else { |
153 |
} else { |
| 151 |
reply = (struct pam_response*)malloc(size); |
154 |
if((reply = (struct pam_response*)malloc(size)) == NULL) |
|
|
155 |
return PAM_CONV_ERR; |
| 152 |
bzero(reply, size); |
156 |
bzero(reply, size); |
| 153 |
} |
157 |
} |
| 154 |
|
158 |
|
| 155 |
if (!reply) |
|
|
| 156 |
return PAM_CONV_ERR; |
| 157 |
|
| 158 |
size += PAM_RESPONSE_SIZE; |
159 |
size += PAM_RESPONSE_SIZE; |
| 159 |
|
160 |
|
| 160 |
reply[replies].resp_retcode = PAM_SUCCESS; |
161 |
reply[replies].resp_retcode = PAM_SUCCESS; |