]> granicus.if.org Git - php/commitdiff
Fix array_column() packed hash initialization
authorNikita Popov <nikic@php.net>
Mon, 8 Aug 2016 16:46:54 +0000 (18:46 +0200)
committerNikita Popov <nikic@php.net>
Mon, 8 Aug 2016 16:47:52 +0000 (18:47 +0200)
FILL assumes enough space is alredy allocated -- do that. Note that
the used size is an upper bound, albeit a likely one.

ext/standard/array.c

index e67293bbdc8f6b0ef930374ceea0fe4e84270474..cb78cad39c46f61c136037de9b5049e2364bd0dd 100644 (file)
@@ -3592,7 +3592,7 @@ PHP_FUNCTION(array_column)
                RETURN_FALSE;
        }
 
-       array_init(return_value);
+       array_init_size(return_value, zend_hash_num_elements(arr_hash));
        if (!zkey) {
                zend_hash_real_init(Z_ARRVAL_P(return_value), 1);
                ZEND_HASH_FILL_PACKED(Z_ARRVAL_P(return_value)) {