From 8f1e995cec1e2438eb8460731f6f62c1aa50518d Mon Sep 17 00:00:00 2001 From: Andreas Schneider Date: Fri, 24 Aug 2018 15:49:16 +0200 Subject: [PATCH] auth: Fix possible NULL pointer dereference explicit_bzero() doesn't handle NULL. Signed-off-by: Andreas Schneider --- src/auth.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/auth.c b/src/auth.c index bd2fecc3..06af7163 100644 --- a/src/auth.c +++ b/src/auth.c @@ -1228,7 +1228,9 @@ void ssh_kbdint_free(ssh_kbdint kbd) { n = kbd->nprompts; if (kbd->prompts) { for (i = 0; i < n; i++) { - explicit_bzero(kbd->prompts[i], strlen(kbd->prompts[i])); + if (kbd->prompts[i] != NULL) { + explicit_bzero(kbd->prompts[i], strlen(kbd->prompts[i])); + } SAFE_FREE(kbd->prompts[i]); } SAFE_FREE(kbd->prompts); @@ -1237,7 +1239,9 @@ void ssh_kbdint_free(ssh_kbdint kbd) { n = kbd->nanswers; if (kbd->answers) { for (i = 0; i < n; i++) { - explicit_bzero(kbd->answers[i], strlen(kbd->answers[i])); + if (kbd->answers[i] != NULL) { + explicit_bzero(kbd->answers[i], strlen(kbd->answers[i])); + } SAFE_FREE(kbd->answers[i]); } SAFE_FREE(kbd->answers);