summaryrefslogtreecommitdiff
path: root/main/php_variables.c
diff options
context:
space:
mode:
authorStefan Esser <sesser@php.net>2004-06-26 08:09:28 +0000
committerStefan Esser <sesser@php.net>2004-06-26 08:09:28 +0000
commit59d55efb17f7a6b90a464d80c1e0dda890a8c5dd (patch)
tree65595d107e3cafe4f1d8ca574822f04a364ff962 /main/php_variables.c
parentff716cbd3ec2875b6eb407c8b9c6db6659c2f48d (diff)
downloadphp-git-59d55efb17f7a6b90a464d80c1e0dda890a8c5dd.tar.gz
As long we pass values by reference this is needed. Ugly!
Diffstat (limited to 'main/php_variables.c')
-rw-r--r--main/php_variables.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/main/php_variables.c b/main/php_variables.c
index 668015f7f8..556a323219 100644
--- a/main/php_variables.c
+++ b/main/php_variables.c
@@ -212,9 +212,11 @@ SAPI_API SAPI_POST_HANDLER_FUNC(php_std_post_handler)
*val++ = '\0';
php_url_decode(var, strlen(var));
val_len = php_url_decode(val, strlen(val));
+ val = estrndup(val, val_len);
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);
}
+ efree(val);
}
var = php_strtok_r(NULL, "&", &strtok_buf);
}
@@ -310,9 +312,11 @@ SAPI_API SAPI_TREAT_DATA_FUNC(php_default_treat_data)
*val++ = '\0';
php_url_decode(var, strlen(var));
val_len = php_url_decode(val, strlen(val));
+ val = estrndup(val, val_len);
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);
}
+ efree(val);
} else {
php_url_decode(var, strlen(var));
php_register_variable_safe(var, "", 0, array_ptr TSRMLS_CC);