summaryrefslogtreecommitdiff
path: root/main/php_variables.c
diff options
context:
space:
mode:
authorDerick Rethans <derick@php.net>2003-11-29 15:24:35 +0000
committerDerick Rethans <derick@php.net>2003-11-29 15:24:35 +0000
commit750b0338bf1a2ae6d2fe48396801ad13a29255a2 (patch)
tree34df9d9b724f29704400d6f13ba040add72ac58b /main/php_variables.c
parentf7830195c02682482e8e644ad10fd96de0d654ae (diff)
downloadphp-git-750b0338bf1a2ae6d2fe48396801ad13a29255a2.tar.gz
- 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.
Diffstat (limited to 'main/php_variables.c')
-rw-r--r--main/php_variables.c13
1 files changed, 6 insertions, 7 deletions
diff --git a/main/php_variables.c b/main/php_variables.c
index ae59eced6c..2769de1875 100644
--- a/main/php_variables.c
+++ b/main/php_variables.c
@@ -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));