From: Ilia Alshanetsky Date: Mon, 9 Oct 2006 19:48:13 +0000 (+0000) Subject: Improve parameter parsing X-Git-Tag: php-5.2.0RC6~62 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=3890ca3fcba86e1196e60320baad77086f2a4cd7;p=php Improve parameter parsing --- diff --git a/ext/filter/filter.c b/ext/filter/filter.c index 55c86516c0..95f1cce530 100644 --- a/ext/filter/filter.c +++ b/ext/filter/filter.c @@ -644,16 +644,18 @@ static void php_filter_array_handler(zval *input, zval **op, zval *return_value PHP_FUNCTION(filter_input) { long fetch_from, filter = FILTER_DEFAULT; - zval **filter_args = NULL, **data=NULL, **tmp; + zval **filter_args = NULL, **tmp; zval *input = NULL; + char *var; + int var_len; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "lZ|lZ", &fetch_from, &data, &filter, &filter_args) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ls|lZ", &fetch_from, &var, &var_len, &filter, &filter_args) == FAILURE) { RETURN_FALSE; } input = php_filter_get_storage(fetch_from TSRMLS_CC); - if (!input || !HASH_OF(input) || zend_hash_find(HASH_OF(input), Z_STRVAL_PP(data), Z_STRLEN_PP(data) + 1, (void **)&tmp) != SUCCESS) { + if (!input || !HASH_OF(input) || zend_hash_find(HASH_OF(input), var, var_len + 1, (void **)&tmp) != SUCCESS) { RETURN_FALSE; }