]> granicus.if.org Git - php/commitdiff
MFB: Improve parameter parsing
authorIlia Alshanetsky <iliaa@php.net>
Mon, 9 Oct 2006 19:48:35 +0000 (19:48 +0000)
committerIlia Alshanetsky <iliaa@php.net>
Mon, 9 Oct 2006 19:48:35 +0000 (19:48 +0000)
ext/filter/filter.c

index 93f69cf6e58d6f9b72ba72af73788fb5784afb42..79207c5009be878a06cddb250cfb2973518d4234 100644 (file)
@@ -652,16 +652,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;
        }