From: Doug MacEachern Date: Tue, 14 Aug 2001 17:03:03 +0000 (+0000) Subject: need to check return value of ssl_hook_process_connection X-Git-Tag: 2.0.24~101 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=d9ed774c220c9b2d9482c6a0c58ac516b3bf7592;p=apache need to check return value of ssl_hook_process_connection if != APR_SUCCESS the ssl connection has been shutdown (for example client cert was revoked) PR: Obtained from: Submitted by: Reviewed by: git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@90155 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/modules/ssl/ssl_engine_io.c b/modules/ssl/ssl_engine_io.c index 13b513d2bd..fc2abb8454 100644 --- a/modules/ssl/ssl_engine_io.c +++ b/modules/ssl/ssl_engine_io.c @@ -282,8 +282,13 @@ static apr_status_t churn (SSLFilterRec *pRec, assert(n >= 0 && (apr_size_t)n == len); - ssl_hook_process_connection (pRec); - + if ((ret = ssl_hook_process_connection(pRec)) != APR_SUCCESS) { + /* if this is the case, ssl connection has been shutdown + * and pRec->pssl has been freed + */ + return ret; + } + /* pass along all of the current BIO */ while ((n = ssl_io_hook_read(pRec->pssl, (unsigned char *)buf, sizeof(buf))) > 0)