1
0
mirror of https://github.com/apache/httpd.git synced 2025-08-08 15:02:10 +03:00

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
This commit is contained in:
Doug MacEachern
2001-11-12 22:01:14 +00:00
parent d54f6fb0f9
commit 05c8ba57eb

View File

@@ -67,6 +67,9 @@
* Close the SSL part of the socket connection * Close the SSL part of the socket connection
* (called immediately _before_ the socket is closed) * (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) apr_status_t ssl_hook_CloseConnection(SSLFilterRec *filter)
{ {
SSL *ssl; SSL *ssl;
@@ -144,6 +147,7 @@ apr_status_t ssl_hook_CloseConnection(SSLFilterRec *filter)
/* deallocate the SSL connection */ /* deallocate the SSL connection */
SSL_free(ssl); SSL_free(ssl);
apr_table_setn(conn->notes, "ssl", NULL); apr_table_setn(conn->notes, "ssl", NULL);
filter->pssl = NULL; /* so filters know we've been shutdown */
return APR_SUCCESS; return APR_SUCCESS;
} }