From a6d59811bb76f9ca30e1707caa94034f9c9f1caf Mon Sep 17 00:00:00 2001 From: Andreas Schneider Date: Mon, 3 Sep 2018 17:48:42 +0200 Subject: [PATCH] getpass: Use explicit_bzero() Signed-off-by: Andreas Schneider Reviewed-by: Jakub Jelen --- src/getpass.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/getpass.c b/src/getpass.c index 2a34bc50..99627665 100644 --- a/src/getpass.c +++ b/src/getpass.c @@ -87,7 +87,7 @@ static int ssh_gets(const char *prompt, char *buf, size_t len, int verify) { fprintf(stdout, "\nVerifying, please re-enter. %s", prompt); fflush(stdout); if (! fgets(key_string, len, stdin)) { - memset(key_string, '\0', len); + explicit_bzero(key_string, len); SAFE_FREE(key_string); clearerr(stdin); continue; @@ -98,17 +98,17 @@ static int ssh_gets(const char *prompt, char *buf, size_t len, int verify) { fprintf(stdout, "\n"); if (strcmp(buf, key_string)) { printf("\n\07\07Mismatch - try again\n"); - memset(key_string, '\0', len); + explicit_bzero(key_string, len); SAFE_FREE(key_string); fflush(stdout); continue; } - memset(key_string, '\0', len); + explicit_bzero(key_string, len); SAFE_FREE(key_string); } ok = 1; } - memset(tmp, '\0', len); + explicit_bzero(tmp, len); free(tmp); return ok; @@ -150,7 +150,7 @@ int ssh_getpass(const char *prompt, SetConsoleMode(h, mode); if (!ok) { - memset (buf, '\0', len); + explicit_bzero(buf, len); return -1; } @@ -271,7 +271,7 @@ int ssh_getpass(const char *prompt, } if (!ok) { - memset (buf, '\0', len); + explicit_bzero(buf, len); return -1; }