From: Ilia Alshanetsky Date: Tue, 3 Oct 2006 15:34:50 +0000 (+0000) Subject: Fixed handling of FILTER_FORCE_ARRAY X-Git-Tag: php-5.2.0RC5~32 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=f876d0bf2aacc88a1012059f5b2ac3fa3445cc2a;p=php Fixed handling of FILTER_FORCE_ARRAY --- diff --git a/ext/filter/filter.c b/ext/filter/filter.c index 2ba5da0db1..28a672060f 100644 --- a/ext/filter/filter.c +++ b/ext/filter/filter.c @@ -570,12 +570,17 @@ static void php_filter_call(zval **filtered, long filter, zval **filter_args, co php_zval_filter(filtered, filter, filter_flags, options, charset, copy TSRMLS_CC); if (filter_flags & FILTER_FORCE_ARRAY) { - zval *temp_array; + zval *tmp; - ALLOC_INIT_ZVAL(temp_array); - array_init(temp_array); - add_next_index_zval(temp_array, *filtered); - *filtered = temp_array; + ALLOC_ZVAL(tmp); + *tmp = **filtered; + zval_copy_ctor(tmp); + INIT_PZVAL(tmp); + + zval_dtor(*filtered); + + array_init(*filtered); + add_next_index_zval(*filtered, tmp); } } /* }}} */