diff options
author | NIIBE Yutaka <[email protected]> | 2022-05-25 06:34:38 +0000 |
---|---|---|
committer | Werner Koch <[email protected]> | 2023-06-16 07:56:42 +0000 |
commit | 4bfcd8a0f6f314581b40bed0cffe5f91441f4dff (patch) | |
tree | 67e64873eeb9a72c5ff0a34c0f218f26409d9751 | |
parent | build: Update for newer autoconf. (diff) | |
download | libassuan-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.c | 8 |
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; } |