From a58b3892d3409c9ff41596af0a7bd65219a1344e Mon Sep 17 00:00:00 2001
From: Dragos Oancea <dragos.oancea@vonage.com>
Date: Fri, 28 Sep 2018 11:12:25 +0100
Subject: [PATCH] OpenSSL_client_verify_callback(): check wsi, avoid crash

---
 lib/client/ssl-client.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/lib/client/ssl-client.c b/lib/client/ssl-client.c
index 6626e084..cad1d9aa 100644
--- a/lib/client/ssl-client.c
+++ b/lib/client/ssl-client.c
@@ -51,6 +51,10 @@ OpenSSL_client_verify_callback(int preverify_ok, X509_STORE_CTX *x509_ctx)
 		if (err != X509_V_OK) {
 			ssl = X509_STORE_CTX_get_ex_data(x509_ctx, SSL_get_ex_data_X509_STORE_CTX_idx());
 			wsi = SSL_get_ex_data(ssl, openssl_websocket_private_data_index);
+			if (!wsi) {
+				lwsl_err("can't retrieve wsi from ssl private data");
+				return 0;
+			}
 
 			if ((err == X509_V_ERR_DEPTH_ZERO_SELF_SIGNED_CERT ||
 					err == X509_V_ERR_SELF_SIGNED_CERT_IN_CHAIN) &&
-- 
GitLab