]> granicus.if.org Git - apache/commitdiff
* modules/ssl/ssl_engine_io.c (ssl_io_filter_disable,
authorJoe Orton <jorton@apache.org>
Sun, 29 Feb 2004 00:29:20 +0000 (00:29 +0000)
committerJoe Orton <jorton@apache.org>
Sun, 29 Feb 2004 00:29:20 +0000 (00:29 +0000)
ssl_io_filter_error): Clear the SSL * pointer in the SSLConnRec too.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@102819 13f79535-47bb-0310-9956-ffa450edef68

modules/ssl/ssl_engine_io.c

index b4e7cd4105f801444948e5668549881fbbba4b21..0bd5e2bf32fffd161bc73ad3d8f69ad6921a277c 100644 (file)
@@ -824,10 +824,11 @@ static apr_status_t ssl_filter_write(ap_filter_t *f,
                                sizeof(HTTP_ON_HTTPS_PORT) - 1, \
                                alloc)
 
-static void ssl_io_filter_disable(ap_filter_t *f)
+static void ssl_io_filter_disable(SSLConnRec *sslconn, ap_filter_t *f)
 {
     bio_filter_in_ctx_t *inctx = f->ctx;
     SSL_free(inctx->ssl);
+    sslconn->ssl = NULL;
     inctx->ssl = NULL;
     inctx->filter_ctx->pssl = NULL;
 }
@@ -849,7 +850,7 @@ static apr_status_t ssl_io_filter_error(ap_filter_t *f,
             ssl_log_ssl_error(APLOG_MARK, APLOG_INFO, f->c->base_server);
 
             sslconn->non_ssl_request = 1;
-            ssl_io_filter_disable(f);
+            ssl_io_filter_disable(sslconn, f);
 
             /* fake the request line */
             bucket = HTTP_ON_HTTPS_PORT_BUCKET(f->c->bucket_alloc);