If ssh_handle_key_exchange() fails, when ssh_free() is called cipher->ctx is NULL
>From 70d711443d47310fa1094943ca3a5046e7a5787b Mon Sep 17 00:00:00 2001 From: debevv <[email protected]> Date: Tue, 6 Jun 2017 09:28:58 +0200 Subject: [PATCH] If ssh_handle_key_exchange() fails, when ssh_free() is called cipher->ctx is NULL
Signed-off-by: debevv <[email protected]> --- src/wrapper.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/wrapper.c b/src/wrapper.c index af166da..db33446 100644 --- a/src/wrapper.c +++ b/src/wrapper.c @@ -120,11 +120,13 @@ void ssh_cipher_clear(struct ssh_cipher_struct *cipher){ SAFE_FREE(cipher->key); } #endif - if (cipher->cleanup != NULL){ - cipher->cleanup(cipher); - } + if(cipher->ctx) { + if (cipher->cleanup != NULL){ + cipher->cleanup(cipher); + } #ifdef HAVE_LIBCRYPTO - EVP_CIPHER_CTX_free(cipher->ctx); + EVP_CIPHER_CTX_free(cipher->ctx); + } #endif } -- 2.7.4
