dmitry Thu, 22 Dec 2011 15:31:41 +0000
Revision: http://svn.php.net/viewvc?view=revision&revision=321335
Log:
Change fatal error into warning and ignore arguments over limit
Changed paths:
U php/php-src/branches/PHP_5_3/main/php_variables.c
U php/php-src/branches/PHP_5_4/main/php_variables.c
U php/php-src/trunk/main/php_variables.c
Modified: php/php-src/branches/PHP_5_3/main/php_variables.c
===================================================================
--- php/php-src/branches/PHP_5_3/main/php_variables.c 2011-12-22 13:28:01 UTC
(rev 321334)
+++ php/php-src/branches/PHP_5_3/main/php_variables.c 2011-12-22 15:31:41 UTC
(rev 321335)
@@ -191,12 +191,14 @@
}
if (zend_symtable_find(symtable1,
escaped_index, index_len + 1, (void **) &gpc_element_p) == FAILURE
|| Z_TYPE_PP(gpc_element_p) !=
IS_ARRAY) {
- if (zend_hash_num_elements(symtable1)
>= PG(max_input_vars)) {
- php_error_docref(NULL
TSRMLS_CC, E_ERROR, "Input variables exceeded %ld. To increase the limit change
max_input_vars in php.ini.", PG(max_input_vars));
+ if (zend_hash_num_elements(symtable1)
<= PG(max_input_vars)) {
+ if
(zend_hash_num_elements(symtable1) == PG(max_input_vars)) {
+ php_error_docref(NULL
TSRMLS_CC, E_WARNING, "Input variables exceeded %ld. To increase the limit
change max_input_vars in php.ini.", PG(max_input_vars));
+ }
+ MAKE_STD_ZVAL(gpc_element);
+ array_init(gpc_element);
+ zend_symtable_update(symtable1,
escaped_index, index_len + 1, &gpc_element, sizeof(zval *), (void **)
&gpc_element_p);
}
- MAKE_STD_ZVAL(gpc_element);
- array_init(gpc_element);
- zend_symtable_update(symtable1,
escaped_index, index_len + 1, &gpc_element, sizeof(zval *), (void **)
&gpc_element_p);
}
if (index != escaped_index) {
efree(escaped_index);
@@ -239,10 +241,14 @@
zend_symtable_exists(symtable1, escaped_index,
index_len + 1)) {
zval_ptr_dtor(&gpc_element);
} else {
- if (zend_hash_num_elements(symtable1) >=
PG(max_input_vars)) {
- php_error_docref(NULL TSRMLS_CC,
E_ERROR, "Input variables exceeded %ld. To increase the limit change
max_input_vars in php.ini.", PG(max_input_vars));
+ if (zend_hash_num_elements(symtable1) <=
PG(max_input_vars)) {
+ if (zend_hash_num_elements(symtable1)
== PG(max_input_vars)) {
+ php_error_docref(NULL
TSRMLS_CC, E_WARNING, "Input variables exceeded %ld. To increase the limit
change max_input_vars in php.ini.", PG(max_input_vars));
+ }
+ zend_symtable_update(symtable1,
escaped_index, index_len + 1, &gpc_element, sizeof(zval *), (void **)
&gpc_element_p);
+ } else {
+ zval_ptr_dtor(&gpc_element);
}
- zend_symtable_update(symtable1, escaped_index,
index_len + 1, &gpc_element, sizeof(zval *), (void **) &gpc_element_p);
}
if (escaped_index != index) {
efree(escaped_index);
Modified: php/php-src/branches/PHP_5_4/main/php_variables.c
===================================================================
--- php/php-src/branches/PHP_5_4/main/php_variables.c 2011-12-22 13:28:01 UTC
(rev 321334)
+++ php/php-src/branches/PHP_5_4/main/php_variables.c 2011-12-22 15:31:41 UTC
(rev 321335)
@@ -179,12 +179,14 @@
escaped_index = index;
if (zend_symtable_find(symtable1,
escaped_index, index_len + 1, (void **) &gpc_element_p) == FAILURE
|| Z_TYPE_PP(gpc_element_p) !=
IS_ARRAY) {
- if (zend_hash_num_elements(symtable1)
>= PG(max_input_vars)) {
- php_error_docref(NULL
TSRMLS_CC, E_ERROR, "Input variables exceeded %ld. To increase the limit change
max_input_vars in php.ini.", PG(max_input_vars));
+ if (zend_hash_num_elements(symtable1)
<= PG(max_input_vars)) {
+ if
(zend_hash_num_elements(symtable1) == PG(max_input_vars)) {
+ php_error_docref(NULL
TSRMLS_CC, E_WARNING, "Input variables exceeded %ld. To increase the limit
change max_input_vars in php.ini.", PG(max_input_vars));
+ }
+ MAKE_STD_ZVAL(gpc_element);
+ array_init(gpc_element);
+ zend_symtable_update(symtable1,
escaped_index, index_len + 1, &gpc_element, sizeof(zval *), (void **)
&gpc_element_p);
}
- MAKE_STD_ZVAL(gpc_element);
- array_init(gpc_element);
- zend_symtable_update(symtable1,
escaped_index, index_len + 1, &gpc_element, sizeof(zval *), (void **)
&gpc_element_p);
}
if (index != escaped_index) {
efree(escaped_index);
@@ -223,10 +225,14 @@
zend_symtable_exists(symtable1, escaped_index,
index_len + 1)) {
zval_ptr_dtor(&gpc_element);
} else {
- if (zend_hash_num_elements(symtable1) >=
PG(max_input_vars)) {
- php_error_docref(NULL TSRMLS_CC,
E_ERROR, "Input variables exceeded %ld. To increase the limit change
max_input_vars in php.ini.", PG(max_input_vars));
+ if (zend_hash_num_elements(symtable1) <=
PG(max_input_vars)) {
+ if (zend_hash_num_elements(symtable1)
== PG(max_input_vars)) {
+ php_error_docref(NULL
TSRMLS_CC, E_WARNING, "Input variables exceeded %ld. To increase the limit
change max_input_vars in php.ini.", PG(max_input_vars));
+ }
+ zend_symtable_update(symtable1,
escaped_index, index_len + 1, &gpc_element, sizeof(zval *), (void **)
&gpc_element_p);
+ } else {
+ zval_ptr_dtor(&gpc_element);
}
- zend_symtable_update(symtable1, escaped_index,
index_len + 1, &gpc_element, sizeof(zval *), (void **) &gpc_element_p);
}
if (escaped_index != index) {
efree(escaped_index);
Modified: php/php-src/trunk/main/php_variables.c
===================================================================
--- php/php-src/trunk/main/php_variables.c 2011-12-22 13:28:01 UTC (rev
321334)
+++ php/php-src/trunk/main/php_variables.c 2011-12-22 15:31:41 UTC (rev
321335)
@@ -179,12 +179,14 @@
escaped_index = index;
if (zend_symtable_find(symtable1,
escaped_index, index_len + 1, (void **) &gpc_element_p) == FAILURE
|| Z_TYPE_PP(gpc_element_p) !=
IS_ARRAY) {
- if (zend_hash_num_elements(symtable1)
>= PG(max_input_vars)) {
- php_error_docref(NULL
TSRMLS_CC, E_ERROR, "Input variables exceeded %ld. To increase the limit change
max_input_vars in php.ini.", PG(max_input_vars));
+ if (zend_hash_num_elements(symtable1)
<= PG(max_input_vars)) {
+ if
(zend_hash_num_elements(symtable1) == PG(max_input_vars)) {
+ php_error_docref(NULL
TSRMLS_CC, E_WARNING, "Input variables exceeded %ld. To increase the limit
change max_input_vars in php.ini.", PG(max_input_vars));
+ }
+ MAKE_STD_ZVAL(gpc_element);
+ array_init(gpc_element);
+ zend_symtable_update(symtable1,
escaped_index, index_len + 1, &gpc_element, sizeof(zval *), (void **)
&gpc_element_p);
}
- MAKE_STD_ZVAL(gpc_element);
- array_init(gpc_element);
- zend_symtable_update(symtable1,
escaped_index, index_len + 1, &gpc_element, sizeof(zval *), (void **)
&gpc_element_p);
}
if (index != escaped_index) {
efree(escaped_index);
@@ -223,10 +225,14 @@
zend_symtable_exists(symtable1, escaped_index,
index_len + 1)) {
zval_ptr_dtor(&gpc_element);
} else {
- if (zend_hash_num_elements(symtable1) >=
PG(max_input_vars)) {
- php_error_docref(NULL TSRMLS_CC,
E_ERROR, "Input variables exceeded %ld. To increase the limit change
max_input_vars in php.ini.", PG(max_input_vars));
+ if (zend_hash_num_elements(symtable1) <=
PG(max_input_vars)) {
+ if (zend_hash_num_elements(symtable1)
== PG(max_input_vars)) {
+ php_error_docref(NULL
TSRMLS_CC, E_WARNING, "Input variables exceeded %ld. To increase the limit
change max_input_vars in php.ini.", PG(max_input_vars));
+ }
+ zend_symtable_update(symtable1,
escaped_index, index_len + 1, &gpc_element, sizeof(zval *), (void **)
&gpc_element_p);
+ } else {
+ zval_ptr_dtor(&gpc_element);
}
- zend_symtable_update(symtable1, escaped_index,
index_len + 1, &gpc_element, sizeof(zval *), (void **) &gpc_element_p);
}
if (escaped_index != index) {
efree(escaped_index);
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php