diff options
Diffstat (limited to 'modules')
-rw-r--r-- | modules/http/http_core.c | 1 | ||||
-rw-r--r-- | modules/http/http_request.c | 6 |
2 files changed, 5 insertions, 2 deletions
diff --git a/modules/http/http_core.c b/modules/http/http_core.c index 8970ae6dc4..8421f42b97 100644 --- a/modules/http/http_core.c +++ b/modules/http/http_core.c @@ -126,6 +126,7 @@ static int ap_process_http_async_connection(conn_rec *c) request_rec *r; conn_state_t *cs = c->cs; + AP_DEBUG_ASSERT(cs != NULL); AP_DEBUG_ASSERT(cs->state == CONN_STATE_READ_REQUEST_LINE); while (cs->state == CONN_STATE_READ_REQUEST_LINE) { diff --git a/modules/http/http_request.c b/modules/http/http_request.c index 0a25333ee4..319be84f0d 100644 --- a/modules/http/http_request.c +++ b/modules/http/http_request.c @@ -260,7 +260,8 @@ AP_DECLARE(void) ap_process_request_after_handler(request_rec *r) * already by the EOR bucket's cleanup function. */ - c->cs->state = CONN_STATE_WRITE_COMPLETION; + if (c->cs) + c->cs->state = CONN_STATE_WRITE_COMPLETION; check_pipeline(c); AP_PROCESS_REQUEST_RETURN((uintptr_t)r, r->uri, r->status); if (ap_extended_status) { @@ -325,7 +326,8 @@ void ap_process_async_request(request_rec *r) if (ap_extended_status) { ap_time_process_request(c->sbh, STOP_PREQUEST); } - c->cs->state = CONN_STATE_SUSPENDED; + if (c->cs) + c->cs->state = CONN_STATE_SUSPENDED; #if APR_HAS_THREADS apr_thread_mutex_unlock(r->invoke_mtx); #endif |