aboutsummaryrefslogtreecommitdiff
path: root/src/auth.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/auth.c')
-rw-r--r--src/auth.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/auth.c b/src/auth.c
index abfb5948..6462086f 100644
--- a/src/auth.c
+++ b/src/auth.c
@@ -1249,7 +1249,7 @@ void ssh_kbdint_free(ssh_kbdint kbd) {
n = kbd->nprompts;
if (kbd->prompts) {
for (i = 0; i < n; i++) {
- BURN_STRING(kbd->prompts[i]);
+ explicit_bzero(kbd->prompts[i], strlen(kbd->prompts[i]));
SAFE_FREE(kbd->prompts[i]);
}
SAFE_FREE(kbd->prompts);
@@ -1258,7 +1258,7 @@ void ssh_kbdint_free(ssh_kbdint kbd) {
n = kbd->nanswers;
if (kbd->answers) {
for (i = 0; i < n; i++) {
- BURN_STRING(kbd->answers[i]);
+ explicit_bzero(kbd->answers[i], strlen(kbd->answers[i]));
SAFE_FREE(kbd->answers[i]);
}
SAFE_FREE(kbd->answers);
@@ -1281,7 +1281,7 @@ void ssh_kbdint_clean(ssh_kbdint kbd) {
n = kbd->nprompts;
if (kbd->prompts) {
for (i = 0; i < n; i++) {
- BURN_STRING(kbd->prompts[i]);
+ explicit_bzero(kbd->prompts[i], strlen(kbd->prompts[i]));
SAFE_FREE(kbd->prompts[i]);
}
SAFE_FREE(kbd->prompts);
@@ -1291,7 +1291,7 @@ void ssh_kbdint_clean(ssh_kbdint kbd) {
if (kbd->answers) {
for (i = 0; i < n; i++) {
- BURN_STRING(kbd->answers[i]);
+ explicit_bzero(kbd->answers[i], strlen(kbd->answers[i]));
SAFE_FREE(kbd->answers[i]);
}
SAFE_FREE(kbd->answers);
@@ -1759,7 +1759,8 @@ int ssh_userauth_kbdint_setanswer(ssh_session session, unsigned int i,
}
if (session->kbdint->answers[i]) {
- BURN_STRING(session->kbdint->answers[i]);
+ explicit_bzero(session->kbdint->answers[i],
+ strlen(session->kbdint->answers[i]));
SAFE_FREE(session->kbdint->answers[i]);
}