aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNIIBE Yutaka <[email protected]>2022-05-25 06:34:38 +0000
committerNIIBE Yutaka <[email protected]>2022-05-25 06:34:38 +0000
commitd812e28af637144d078005887cb7519d7a2d0c58 (patch)
tree5c7cd727c5168d9cd5481d628ef1973a4865cc4f
parentAdd assuan_sock_accept function. (diff)
downloadlibassuan-d812e28af637144d078005887cb7519d7a2d0c58.tar.gz
libassuan-d812e28af637144d078005887cb7519d7a2d0c58.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;
}