diff options
| author | Ilia Alshanetsky <iliaa@php.net> | 2005-08-18 01:14:42 +0000 |
|---|---|---|
| committer | Ilia Alshanetsky <iliaa@php.net> | 2005-08-18 01:14:42 +0000 |
| commit | e134382a71f22072809f1a26253a3d220426ef49 (patch) | |
| tree | 41ac9ce657b3cfee09b7ca93d8fc5789f2b6a311 /sapi/apache2handler/sapi_apache2.c | |
| parent | 94c7fd06034017d4c38e0b6c9a77bef31bd0c74e (diff) | |
| download | php-git-e134382a71f22072809f1a26253a3d220426ef49.tar.gz | |
MFH: Fixed bug #33987 (php script as ErrorDocument causes crash in Apache 2).
Diffstat (limited to 'sapi/apache2handler/sapi_apache2.c')
| -rw-r--r-- | sapi/apache2handler/sapi_apache2.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/sapi/apache2handler/sapi_apache2.c b/sapi/apache2handler/sapi_apache2.c index 1185278966..c5734c0116 100644 --- a/sapi/apache2handler/sapi_apache2.c +++ b/sapi/apache2handler/sapi_apache2.c @@ -458,6 +458,7 @@ static int php_handler(request_rec *r) /* apply_config() needs r in some cases, so allocate server_context early */ ctx = SG(server_context); if (ctx == NULL) { +normal: ctx = SG(server_context) = apr_pcalloc(r->pool, sizeof(*ctx)); /* register a cleanup so we clear out the SG(server_context) * after each request. Note: We pass in the pointer to the @@ -536,6 +537,11 @@ zend_first_try { } } else { parent_req = ctx->r; + /* check if comming due to ErrorDocument */ + if (parent_req != HTTP_OK) { + parent_req = NULL; + goto normal; + } ctx->r = r; brigade = ctx->brigade; } |
