From: Doug MacEachern Date: Mon, 12 Nov 2001 22:01:14 +0000 (+0000) Subject: fix segv triggered by recent ap_lingering_close change X-Git-Tag: 2.0.29~168 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=05c8ba57eb6267052d8b09c2ef4a04d5de69b945;p=apache fix segv triggered by recent ap_lingering_close change need to set SSLFilterRec.pssl = NULL when ssl_hook_CloseConnection is called otherwise, ap_lingering_close -> ap_flush_conn will call ssl_io_filter_Output which thinks it can still use the SSLFilterRec.pssl PR: Obtained from: Submitted by: Reviewed by: git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@91886 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/modules/ssl/ssl_engine_kernel.c b/modules/ssl/ssl_engine_kernel.c index d385b16e04..f255658710 100644 --- a/modules/ssl/ssl_engine_kernel.c +++ b/modules/ssl/ssl_engine_kernel.c @@ -67,6 +67,9 @@ * Close the SSL part of the socket connection * (called immediately _before_ the socket is closed) */ +/* XXX: perhaps ssl_abort() should call us or vice-versa + * lot of the same happening in both places + */ apr_status_t ssl_hook_CloseConnection(SSLFilterRec *filter) { SSL *ssl; @@ -144,6 +147,7 @@ apr_status_t ssl_hook_CloseConnection(SSLFilterRec *filter) /* deallocate the SSL connection */ SSL_free(ssl); apr_table_setn(conn->notes, "ssl", NULL); + filter->pssl = NULL; /* so filters know we've been shutdown */ return APR_SUCCESS; }