From: Pekka Riikonen Date: Sat, 1 Feb 2003 10:43:37 +0000 (+0000) Subject: Added missing memset's for sensitive data. X-Git-Tag: silc.client.0.9.12~24 X-Git-Url: http://git.silcnet.org/gitweb/?a=commitdiff_plain;h=08c54610cf73dda7788b32fd1551e34a233eed08;p=silc.git Added missing memset's for sensitive data. --- diff --git a/apps/irssi/src/fe-text/gui-readline.c b/apps/irssi/src/fe-text/gui-readline.c index 66867ffb..4de1936e 100644 --- a/apps/irssi/src/fe-text/gui-readline.c +++ b/apps/irssi/src/fe-text/gui-readline.c @@ -182,6 +182,7 @@ static void key_send_line(void) { HISTORY_REC *history; char *str, *add_history; + gint flags = (redir ? redir->flags : 0); str = gui_entry_get_text(active_entry); @@ -197,9 +198,13 @@ static void key_send_line(void) active_win->active_server, active_win->active); } else { - if (redir->flags & ENTRY_REDIRECT_FLAG_HIDDEN) + if (flags & ENTRY_REDIRECT_FLAG_HIDDEN && add_history) { + memset(add_history, 0, strlen(add_history)); g_free_and_null(add_history); + } handle_entry_redirect(str); + if (flags & ENTRY_REDIRECT_FLAG_HIDDEN && str) + memset(str, 0, strlen(str)); } if (add_history != NULL) { diff --git a/apps/silcd/command.c b/apps/silcd/command.c index 678bfb3d..a64eb06a 100644 --- a/apps/silcd/command.c +++ b/apps/silcd/command.c @@ -2184,6 +2184,8 @@ static void silc_server_command_join_channel(SilcServer server, silc_buffer_free(ban_list); out: + if (passphrase) + memset(passphrase, 0, strlen(passphrase)); silc_free(passphrase); } diff --git a/lib/silcclient/command.c b/lib/silcclient/command.c index 3131900e..40e1d256 100644 --- a/lib/silcclient/command.c +++ b/lib/silcclient/command.c @@ -1175,6 +1175,8 @@ SILC_CLIENT_CMD_FUNC(join) silc_buffer_free(idp); if (auth) silc_buffer_free(auth); + if (passphrase) + memset(passphrase, 0, strlen(passphrase)); silc_free(passphrase); /* Notify application */ @@ -1935,6 +1937,7 @@ static void silc_client_command_oper_send(unsigned char *data, 0, NULL, NULL, buffer->data, buffer->len, TRUE); silc_buffer_free(buffer); + silc_buffer_clear(auth); silc_buffer_free(auth); /* Notify application */ @@ -2006,6 +2009,7 @@ static void silc_client_command_silcoper_send(unsigned char *data, 0, NULL, NULL, buffer->data, buffer->len, TRUE); silc_buffer_free(buffer); + silc_buffer_clear(auth); silc_buffer_free(auth); /* Notify application */