From 4bea9e8b600e948e9139c9a9fd5b41045025228c Mon Sep 17 00:00:00 2001 From: Tobias Brunner Date: Thu, 30 Sep 2021 12:10:44 +0200 Subject: [PATCH] vici: Clear cached strings in case the message contained shared secrets --- src/libcharon/plugins/vici/vici_message.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/libcharon/plugins/vici/vici_message.c b/src/libcharon/plugins/vici/vici_message.c index df5b85c64..e4bb4b43a 100644 --- a/src/libcharon/plugins/vici/vici_message.c +++ b/src/libcharon/plugins/vici/vici_message.c @@ -644,6 +644,13 @@ METHOD(vici_message_t, dump, bool, return FALSE; } +CALLBACK(clear_strings, void, + char *str) +{ + memwipe(str, strlen(str)); + free(str); +} + METHOD(vici_message_t, destroy, void, private_vici_message_t *this) { @@ -651,7 +658,7 @@ METHOD(vici_message_t, destroy, void, { chunk_clear(&this->encoding); } - this->strings->destroy_function(this->strings, free); + this->strings->destroy_function(this->strings, clear_strings); free(this); }