summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sapi/apache2handler/sapi_apache2.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/sapi/apache2handler/sapi_apache2.c b/sapi/apache2handler/sapi_apache2.c
index d0ac95aa75..87e0bf1997 100644
--- a/sapi/apache2handler/sapi_apache2.c
+++ b/sapi/apache2handler/sapi_apache2.c
@@ -400,7 +400,7 @@ static apr_status_t php_server_context_cleanup(void *data_)
return APR_SUCCESS;
}
-static void php_apache_request_ctor(request_rec *r, php_struct *ctx TSRMLS_DC)
+static int php_apache_request_ctor(request_rec *r, php_struct *ctx TSRMLS_DC)
{
char *content_type;
char *content_length;
@@ -433,7 +433,7 @@ static void php_apache_request_ctor(request_rec *r, php_struct *ctx TSRMLS_DC)
SG(request_info).auth_user = NULL;
SG(request_info).auth_password = NULL;
}
- php_request_startup(TSRMLS_C);
+ return php_request_startup(TSRMLS_C);
}
static void php_apache_request_dtor(request_rec *r TSRMLS_DC)
@@ -512,7 +512,9 @@ zend_first_try {
brigade = apr_brigade_create(r->pool, r->connection->bucket_alloc);
ctx->brigade = brigade;
- php_apache_request_ctor(r, ctx TSRMLS_CC);
+ if (php_apache_request_ctor(r, ctx TSRMLS_CC)!=SUCCESS) {
+ zend_bailout();
+ }
} else {
parent_req = ctx->r;
ctx->r = r;