iliaa Fri Nov 18 14:03:14 2005 EDT
Modified files: (Branch: PHP_4_4)
/php-src NEWS
/php-src/sapi/apache2handler sapi_apache2.c
Log:
MFH: Fixed bug #35278 (Multiple virtual() calls crash Apache 2 php module).
http://cvs.php.net/diff.php/php-src/NEWS?r1=1.1247.2.920.2.83&r2=1.1247.2.920.2.84&ty=u
Index: php-src/NEWS
diff -u php-src/NEWS:1.1247.2.920.2.83 php-src/NEWS:1.1247.2.920.2.84
--- php-src/NEWS:1.1247.2.920.2.83 Fri Nov 18 08:11:38 2005
+++ php-src/NEWS Fri Nov 18 14:03:09 2005
@@ -1,7 +1,7 @@
PHP 4 NEWS
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
23 Nov 2005, Version 4.4.2
-
+- Fixed bug #35278 (Multiple virtual() calls crash Apache 2 php module). (Ilia)
18 Nov 2005, Version 4.4.2RC1
- Added missing safe_mode/open_basedir checks into cURL extension. (Ilia)
http://cvs.php.net/diff.php/php-src/sapi/apache2handler/sapi_apache2.c?r1=1.1.2.40.2.7&r2=1.1.2.40.2.8&ty=u
Index: php-src/sapi/apache2handler/sapi_apache2.c
diff -u php-src/sapi/apache2handler/sapi_apache2.c:1.1.2.40.2.7
php-src/sapi/apache2handler/sapi_apache2.c:1.1.2.40.2.8
--- php-src/sapi/apache2handler/sapi_apache2.c:1.1.2.40.2.7 Thu Nov 17
16:01:13 2005
+++ php-src/sapi/apache2handler/sapi_apache2.c Fri Nov 18 14:03:13 2005
@@ -18,7 +18,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: sapi_apache2.c,v 1.1.2.40.2.7 2005/11/17 21:01:13 iliaa Exp $ */
+/* $Id: sapi_apache2.c,v 1.1.2.40.2.8 2005/11/18 19:03:13 iliaa Exp $ */
#include <fcntl.h>
@@ -443,6 +443,18 @@
php_request_shutdown(NULL);
}
+static void php_apache_ini_dtor(request_rec *r, request_rec *p TSRMLS_DC)
+{
+ if (strcmp(r->protocol, "INCLUDED")) {
+ zend_try { zend_ini_deactivate(TSRMLS_C); } zend_end_try();
+ }
+ if (p) {
+ ((php_struct *)SG(server_context))->r = p;
+ } else {
+ apr_pool_cleanup_run(r->pool, (void *)&SG(server_context),
php_server_context_cleanup);
+ }
+}
+
static int php_handler(request_rec *r)
{
php_struct *ctx;
@@ -453,11 +465,7 @@
request_rec *parent_req = NULL;
TSRMLS_FETCH();
-#define PHPAP_INI_OFF \
- if (strcmp(r->protocol, "INCLUDED")) { \
- zend_try { zend_ini_deactivate(TSRMLS_C); } zend_end_try(); \
- } \
- apr_pool_cleanup_run(r->pool, (void *)&SG(server_context),
php_server_context_cleanup); \
+#define PHPAP_INI_OFF php_apache_ini_dtor(r, parent_req TSRMLS_CC);
conf = ap_get_module_config(r->per_dir_config, &php4_module);
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php