diff options
author | NIIBE Yutaka <gniibe@fsij.org> | 2022-05-25 15:34:38 +0900 |
---|---|---|
committer | NIIBE Yutaka <gniibe@fsij.org> | 2022-05-25 15:34:38 +0900 |
commit | d812e28af637144d078005887cb7519d7a2d0c58 (patch) | |
tree | 5c7cd727c5168d9cd5481d628ef1973a4865cc4f | |
parent | 84ae2b1d27ce81e87a8386918e48063dfd173d2e (diff) | |
download | libassuan-d812e28af637144d078005887cb7519d7a2d0c58.tar.gz |
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 <gniibe@fsij.org>
-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; } |