From 750b0338bf1a2ae6d2fe48396801ad13a29255a2 Mon Sep 17 00:00:00 2001 From: Derick Rethans Date: Sat, 29 Nov 2003 15:24:35 +0000 Subject: - 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. --- main/php_variables.c | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) (limited to 'main/php_variables.c') 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)); -- cgit v1.2.1