From 58719590342aa5f51363cf5a42467f33764bc865 Mon Sep 17 00:00:00 2001 From: Joe Orton Date: Mon, 12 Jan 2004 10:51:44 +0000 Subject: [PATCH] * modules/ssl/ssl_engine_vars.c (ssl_var_lookup_ssl): Fix segfault if SSL_get_session() returns NULL. PR: 15057 Submitted by: Otmar Lendl (lendl@nic.at) git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk/modules/ssl@102281 13f79535-47bb-0310-9956-ffa450edef68 --- ssl_engine_vars.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/ssl_engine_vars.c b/ssl_engine_vars.c index 53a519d3c54..5601e924f67 100644 --- a/ssl_engine_vars.c +++ b/ssl_engine_vars.c @@ -281,10 +281,12 @@ static char *ssl_var_lookup_ssl(apr_pool_t *p, conn_rec *c, char *var) else if (ssl != NULL && strcEQ(var, "SESSION_ID")) { char buf[SSL_SESSION_ID_STRING_LEN]; SSL_SESSION *pSession = SSL_get_session(ssl); - result = apr_pstrdup(p, SSL_SESSION_id2sz( - SSL_SESSION_get_session_id(pSession), - SSL_SESSION_get_session_id_length(pSession), - buf, sizeof(buf))); + if (pSession) { + result = apr_pstrdup(p, SSL_SESSION_id2sz( + SSL_SESSION_get_session_id(pSession), + SSL_SESSION_get_session_id_length(pSession), + buf, sizeof(buf))); + } } else if (ssl != NULL && strlen(var) >= 6 && strcEQn(var, "CIPHER", 6)) { result = ssl_var_lookup_ssl_cipher(p, c, var+6); -- 2.47.3