diff options
Diffstat (limited to 'libpam/pam_vprompt.c')
-rw-r--r-- | libpam/pam_vprompt.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/libpam/pam_vprompt.c b/libpam/pam_vprompt.c index 0239c8f4..2c6ce757 100644 --- a/libpam/pam_vprompt.c +++ b/libpam/pam_vprompt.c @@ -83,6 +83,11 @@ pam_vprompt (pam_handle_t *pamh, int style, char **response, retval = conv->conv (1, &pmsg, &pam_resp, conv->appdata_ptr); if (response) *response = pam_resp == NULL ? NULL : pam_resp->resp; + else if (pam_resp && pam_resp->resp) + { + _pam_overwrite (pam_resp->resp); + _pam_drop (pam_resp->resp); + } _pam_overwrite (msgbuf); _pam_drop (pam_resp); free (msgbuf); |