summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/assuan-inquire.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/assuan-inquire.c b/src/assuan-inquire.c
index fa227a6..9599a77 100644
--- a/src/assuan-inquire.c
+++ b/src/assuan-inquire.c
@@ -254,7 +254,13 @@ assuan_inquire (assuan_context_t ctx, const char *keyword,
out:
if (!nodataexpected)
- free_membuf (ctx, &mb);
+ {
+ if (ctx->flags.confidential)
+ wipememory (mb.buf, mb.len);
+ free_membuf (ctx, &mb);
+ }
+ if (ctx->flags.confidential)
+ wipememory (ctx->inbound.line, LINELENGTH);
ctx->in_inquire = 0;
return rc;
}