mirror of
https://github.com/php/php-src.git
synced 2025-08-15 21:48:51 +02:00
- Fix sapi_input_filter patch. Returning 1 from the filter handler should
make PHP register the variable, returning 0 shouldn't. The new length of the variables being filtered is now returned in the new_val_len argument of the function.
This commit is contained in:
parent
f7830195c0
commit
750b0338bf
6 changed files with 20 additions and 19 deletions
|
@ -207,14 +207,13 @@ SAPI_API SAPI_POST_HANDLER_FUNC(php_std_post_handler)
|
|||
while (var) {
|
||||
val = strchr(var, '=');
|
||||
if (val) { /* have a value */
|
||||
int val_len;
|
||||
unsigned int val_len, new_val_len;
|
||||
|
||||
*val++ = '\0';
|
||||
php_url_decode(var, strlen(var));
|
||||
val_len = php_url_decode(val, strlen(val));
|
||||
val_len = sapi_module.input_filter(PARSE_POST, var, &val, val_len TSRMLS_CC);
|
||||
if (val_len) {
|
||||
php_register_variable_safe(var, val, val_len, array_ptr TSRMLS_CC);
|
||||
if (sapi_module.input_filter(PARSE_POST, var, &val, val_len, &new_val_len TSRMLS_CC)) {
|
||||
php_register_variable_safe(var, val, new_val_len, array_ptr TSRMLS_CC);
|
||||
}
|
||||
}
|
||||
var = php_strtok_r(NULL, "&", &strtok_buf);
|
||||
|
@ -305,13 +304,13 @@ SAPI_API SAPI_TREAT_DATA_FUNC(php_default_treat_data)
|
|||
val = strchr(var, '=');
|
||||
if (val) { /* have a value */
|
||||
int val_len;
|
||||
unsigned int new_val_len;
|
||||
|
||||
*val++ = '\0';
|
||||
php_url_decode(var, strlen(var));
|
||||
val_len = php_url_decode(val, strlen(val));
|
||||
val_len = sapi_module.input_filter(arg, var, &val, val_len TSRMLS_CC);
|
||||
if (val_len) {
|
||||
php_register_variable_safe(var, val, val_len, array_ptr TSRMLS_CC);
|
||||
if (sapi_module.input_filter(PARSE_POST, var, &val, val_len, &new_val_len TSRMLS_CC)) {
|
||||
php_register_variable_safe(var, val, new_val_len, array_ptr TSRMLS_CC);
|
||||
}
|
||||
} else {
|
||||
php_url_decode(var, strlen(var));
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue