mirror of
https://github.com/php/php-src.git
synced 2024-09-22 10:27:25 +00:00
Fix array_colum segfault
Separate zval to avoid gc from freeing
This commit is contained in:
parent
082ee90b9b
commit
139e9824ad
@ -2608,11 +2608,9 @@ PHP_FUNCTION(array_column)
|
||||
} else if (zkeyval && Z_TYPE_PP(zkeyval) == IS_LONG) {
|
||||
add_index_zval(return_value, Z_LVAL_PP(zkeyval), *zcolval);
|
||||
} else if (zkeyval && Z_TYPE_PP(zkeyval) == IS_OBJECT) {
|
||||
zval copyval;
|
||||
ZVAL_ZVAL(©val, *zkeyval, 1, 0);
|
||||
convert_to_string(©val);
|
||||
add_assoc_zval(return_value, Z_STRVAL(copyval), *zcolval);
|
||||
zval_dtor(©val);
|
||||
SEPARATE_ZVAL(zkeyval);
|
||||
convert_to_string(*zkeyval);
|
||||
add_assoc_zval(return_value, Z_STRVAL_PP(zkeyval), *zcolval);
|
||||
} else {
|
||||
add_next_index_zval(return_value, *zcolval);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user