aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNIIBE Yutaka <[email protected]>2022-05-25 06:34:38 +0000
committerWerner Koch <[email protected]>2023-06-16 07:56:42 +0000
commit4bfcd8a0f6f314581b40bed0cffe5f91441f4dff (patch)
tree67e64873eeb9a72c5ff0a34c0f218f26409d9751
parentbuild: Update for newer autoconf. (diff)
downloadlibassuan-4bfcd8a0f6f314581b40bed0cffe5f91441f4dff.tar.gz
libassuan-4bfcd8a0f6f314581b40bed0cffe5f91441f4dff.zip
server: Wipe out the memory used by assuan_inquire if CONFIDENTIAL.
* src/assuan-inquire.c (assuan_inquire): Wipe the memory and inbound buffer. -- GnuPG-bug-id: 5977 Signed-off-by: NIIBE Yutaka <[email protected]>
-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;
}