]> granicus.if.org Git - php/commitdiff
fix startup - if startup did not succeed, do not continue with execution
authorStanislav Malyshev <stas@php.net>
Mon, 6 Dec 2004 18:55:38 +0000 (18:55 +0000)
committerStanislav Malyshev <stas@php.net>
Mon, 6 Dec 2004 18:55:38 +0000 (18:55 +0000)
sapi/apache2handler/sapi_apache2.c

index e326aad4d314406c25d1dbb30022f5a7e0f90894..43ef44c1fcbe8d9eb190fce26bd13462b8e17c1d 100644 (file)
@@ -394,7 +394,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;
@@ -427,7 +427,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)
@@ -506,7 +506,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;