summaryrefslogtreecommitdiff
path: root/clients/cli/common.c
diff options
context:
space:
mode:
Diffstat (limited to 'clients/cli/common.c')
-rw-r--r--clients/cli/common.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/clients/cli/common.c b/clients/cli/common.c
index b5e684cecb..326d7da530 100644
--- a/clients/cli/common.c
+++ b/clients/cli/common.c
@@ -1005,7 +1005,7 @@ nmc_readline_echo (const NmcConfig *nmc_config,
va_list args;
gs_free char *prompt = NULL;
char *str;
- HISTORY_STATE *saved_history;
+ gs_free HISTORY_STATE *saved_history = NULL;
HISTORY_STATE passwd_history = { 0, };
va_start (args, prompt_fmt);
@@ -1018,6 +1018,10 @@ nmc_readline_echo (const NmcConfig *nmc_config,
if (!echo_on) {
saved_history = history_get_history_state ();
history_set_history_state (&passwd_history);
+ /* stifling history is important as it tells readline to
+ * not store anything, otherwise sensitive data could be
+ * leaked */
+ stifle_history (0);
rl_redisplay_function = nmc_secret_redisplay;
}