From 46b3beeccd3c9c3093ae90896563fbef4ff33807 Mon Sep 17 00:00:00 2001 From: Kareem Abuobeid Date: Mon, 15 Mar 2021 16:15:21 -0700 Subject: [PATCH] Fix missing NULL check in FreeSuites(), with OPENSSL_ALL enabled, this was causing a segfault in when freeing a WOLFSSL object created with wolfSSL_write_dup(). --- src/internal.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/internal.c b/src/internal.c index 0b07103af..beed2693d 100644 --- a/src/internal.c +++ b/src/internal.c @@ -6361,7 +6361,9 @@ void FreeSuites(WOLFSSL* ssl) #endif { #ifdef OPENSSL_ALL - wolfSSL_sk_SSL_CIPHER_free(ssl->suites->stack); + if (ssl->suites != NULL) { + wolfSSL_sk_SSL_CIPHER_free(ssl->suites->stack); + } #endif XFREE(ssl->suites, ssl->heap, DYNAMIC_TYPE_SUITES); }