{
HISTORY_REC *history;
char *str, *add_history;
+ gint flags = (redir ? redir->flags : 0);
str = gui_entry_get_text(active_entry);
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) {
silc_buffer_free(ban_list);
out:
+ if (passphrase)
+ memset(passphrase, 0, strlen(passphrase));
silc_free(passphrase);
}
silc_buffer_free(idp);
if (auth)
silc_buffer_free(auth);
+ if (passphrase)
+ memset(passphrase, 0, strlen(passphrase));
silc_free(passphrase);
/* Notify application */
0, NULL, NULL, buffer->data, buffer->len, TRUE);
silc_buffer_free(buffer);
+ silc_buffer_clear(auth);
silc_buffer_free(auth);
/* Notify application */
0, NULL, NULL, buffer->data, buffer->len, TRUE);
silc_buffer_free(buffer);
+ silc_buffer_clear(auth);
silc_buffer_free(auth);
/* Notify application */