summaryrefslogtreecommitdiff
blob: acd65e864c5a47d112843dcb526fbd6d5afde8e3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
--- sapi/apache/mod_php4.c.old	2004-01-31 21:44:55.000000000 +0000
+++ sapi/apache/mod_php4.c	2004-01-31 21:49:59.000000000 +0000
@@ -822,6 +822,9 @@
 
 	if (!(r->finfo.st_mode & S_IXUSR)) {
 		r->allowed |= (1 << METHODS) - 1;
+		zend_try {
+			zend_ini_deactivate(TSRMLS_C);
+		} zend_end_try();
 		return DECLINED;
 	}
 	per_dir_conf = (HashTable *) get_module_config(r->per_dir_config, &php4_module);
--- sapi/apache2handler/sapi_apache2.c.old	2004-01-31 21:55:21.000000000 +0000
+++ sapi/apache2handler/sapi_apache2.c	2004-01-31 21:55:26.000000000 +0000
@@ -465,6 +465,9 @@
 	if (strcmp(r->handler, PHP_MAGIC_TYPE) && strcmp(r->handler, PHP_SOURCE_MAGIC_TYPE) && strcmp(r->handler, PHP_SCRIPT)) {
 		/* Check for xbithack in this case. */
 		if (!AP2(xbithack) || strcmp(r->handler, "text/html") || !(r->finfo.protection & APR_UEXECUTE)) {
+			zend_try {
+				zend_ini_deactivate(TSRMLS_C);
+			} zend_end_try();
 			return DECLINED;
 		}
 	}
--- sapi/apache2handler/sapi_apache2.c.old	2004-01-31 22:40:29.000000000 +0000
+++ sapi/apache2handler/sapi_apache2.c	2004-01-31 22:42:23.000000000 +0000
@@ -474,15 +474,24 @@
 
 	/* handle situations where user turns the engine off */
 	if (!AP2(engine)) {
+		zend_try {
+			zend_ini_deactivate(TSRMLS_C);
+		} zend_end_try();
 		return DECLINED;
 	}
 
 	if (r->finfo.filetype == 0) {
 		php_apache_sapi_log_message("script not found or unable to stat");
+		zend_try {
+			zend_ini_deactivate(TSRMLS_C);
+		} zend_end_try();
 		return HTTP_NOT_FOUND;
 	}
 	if (r->finfo.filetype == APR_DIR) {
 		php_apache_sapi_log_message("attempt to invoke directory as script");
+		zend_try {
+			zend_ini_deactivate(TSRMLS_C);
+		} zend_end_try();
 		return HTTP_FORBIDDEN;
 	}