summaryrefslogtreecommitdiff
path: root/libpam/pam_vprompt.c
diff options
context:
space:
mode:
Diffstat (limited to 'libpam/pam_vprompt.c')
-rw-r--r--libpam/pam_vprompt.c5
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);