You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by jo...@apache.org on 2004/01/12 11:51:45 UTC
cvs commit: httpd-2.0/modules/ssl ssl_engine_vars.c
jorton 2004/01/12 02:51:44
Modified: modules/ssl ssl_engine_vars.c
Log:
* 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)
Revision Changes Path
1.30 +6 -4 httpd-2.0/modules/ssl/ssl_engine_vars.c
Index: ssl_engine_vars.c
===================================================================
RCS file: /home/cvs/httpd-2.0/modules/ssl/ssl_engine_vars.c,v
retrieving revision 1.29
retrieving revision 1.30
diff -b -d -u -r1.29 -r1.30
--- ssl_engine_vars.c 1 Jan 2004 13:26:21 -0000 1.29
+++ ssl_engine_vars.c 12 Jan 2004 10:51:44 -0000 1.30
@@ -281,10 +281,12 @@
else if (ssl != NULL && strcEQ(var, "SESSION_ID")) {
char buf[SSL_SESSION_ID_STRING_LEN];
SSL_SESSION *pSession = SSL_get_session(ssl);
+ 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);