Hello, Derick. :-)
http://www.php-security.org/MOPB/MOPB-02-2007.html
http://www.php-security.org/MOPB/MOPB-03-2007.html
http://news.php.net/php.cvs/43349
Is this change plan to PHP_4_4 Branch?
I think that it should become a similar operation.
My patch works in PHP_4_4 Branch.
Regards.
--
Seiji Masugagta
--- php4-STABLE-200704180830,orig/main/main.c 2007-01-01 20:33:06.000000000 +0900
+++ php4-STABLE-200704180830/main/main.c 2007-04-18 20:04:09.295587660 +0900
@@ -338,6 +338,7 @@
STD_PHP_INI_ENTRY("upload_max_filesize", "2M", PHP_INI_SYSTEM|PHP_INI_PERDIR, OnUpdateInt, upload_max_filesize, php_core_globals, core_globals)
STD_PHP_INI_ENTRY("post_max_size", "8M", PHP_INI_SYSTEM|PHP_INI_PERDIR, OnUpdateInt, post_max_size, sapi_globals_struct,sapi_globals)
STD_PHP_INI_ENTRY("upload_tmp_dir", NULL, PHP_INI_SYSTEM, OnUpdateStringUnempty, upload_tmp_dir, php_core_globals, core_globals)
-
STD_PHP_INI_ENTRY("max_input_nesting_level", "64", PHP_INI_SYSTEM|PHP_INI_PERDIR, OnUpdateLongGEZero, max_input_nesting_level, php_core_globals, core_globals)
STD_PHP_INI_ENTRY("user_dir", NULL, PHP_INI_SYSTEM, OnUpdateString, user_dir, php_core_globals, core_globals)
STD_PHP_INI_ENTRY("variables_order", NULL, PHP_INI_ALL, OnUpdateStringUnempty, variables_order, php_core_globals, core_globals)
--- php4-STABLE-200704180830,orig/main/php_globals.h 2007-01-01 20:33:06.000000000 +0900
+++ php4-STABLE-200704180830/main/php_globals.h 2007-04-18 20:04:10.145471450 +0900
@@ -90,6 +90,7 @@
char *extension_dir;char *upload_tmp_dir;
-
long max_input_nesting_level;
long upload_max_filesize;char *error_append_string;
--- php4-STABLE-200704180830,orig/main/php_variables.c 2007-04-13 11:33:32.000000000 +0900
+++ php4-STABLE-200704180830/main/php_variables.c 2007-04-18 20:07:32.987735574 +0900
@@ -63,6 +63,7 @@
char ip; / index pointer */
char *index;
int var_len, index_len; -
int nest_level = 0;
zval *gpc_element, **gpc_element_p;
zend_bool is_array;
HashTable *symtable1=NULL;
@@ -128,6 +129,11 @@
char *escaped_index = NULL, *index_s;
int new_idx_len = 0; -
if(++nest_level > PG(max_input_nesting_level)) {
-
/* too many levels of nesting */
-
php_error_docref(NULL TSRMLS_CC, E_ERROR, "Input variable nesting level more than allowed %ld (change max_input_nesting_level in php.ini to increase the limit)", PG(max_input_nesting_level));
-
}
-
ip++; index_s = ip; if (isspace(*ip)) {
@@ -184,6 +190,7 @@
*ip = 0;
} else {
is_array = 0;
-
nest_level = 0; } } else {
plain_var:
Hello,
http://www.php-security.org/MOPB/MOPB-02-2007.html
http://www.php-security.org/MOPB/MOPB-03-2007.html
http://news.php.net/php.cvs/43349Is this change plan to PHP_4_4 Branch?
No, we can not add a change like this to PHP 4.4 - even if we wanted to.
Your patch breaks BC in the api (adds a new global) and we can't do that
in a x.x.1 release.
regards,
Derick
--
Derick Rethans
http://derickrethans.nl | http://ez.no | http://xdebug.org