aboutsummaryrefslogtreecommitdiffstats
path: root/agent/call-scd.c
diff options
context:
space:
mode:
Diffstat (limited to 'agent/call-scd.c')
-rw-r--r--agent/call-scd.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/agent/call-scd.c b/agent/call-scd.c
index 154ea34d9..aa8c3eece 100644
--- a/agent/call-scd.c
+++ b/agent/call-scd.c
@@ -384,7 +384,12 @@ inq_needpin (void *opaque, const char *line)
rc = parm->getpin_cb (parm->getpin_cb_arg, parm->getpin_cb_desc,
line, pin, pinlen);
if (!rc)
- rc = assuan_send_data (parm->ctx, pin, pinlen);
+ {
+ assuan_begin_confidential (parm->ctx);
+ rc = assuan_send_data (parm->ctx, pin, pinlen);
+ assuan_end_confidential (parm->ctx);
+ }
+ wipememory (pin, pinlen);
xfree (pin);
}
else if ((s = has_leading_keyword (line, "POPUPPINPADPROMPT")))