diff options
| author | Nikita Popov <nikic@php.net> | 2015-04-04 10:52:43 +0200 |
|---|---|---|
| committer | Nikita Popov <nikic@php.net> | 2015-04-04 10:52:43 +0200 |
| commit | fa15ac4c3774c80a9c00956407fb89725bac7bc7 (patch) | |
| tree | b7d1ecbd03b1391ed51ea2f7a62438cfe287eaaf | |
| parent | 86906d6a7bbb9c4b69c1ddbd6a3a9bc1efcf091e (diff) | |
| download | php-git-fa15ac4c3774c80a9c00956407fb89725bac7bc7.tar.gz | |
Fix separation in array_multisort
This manifested in Zend/tests/bug52939.phpt when running without
opcache (no immutablization).
| -rw-r--r-- | ext/standard/array.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/ext/standard/array.c b/ext/standard/array.c index f90f287a1f..1ab9906311 100644 --- a/ext/standard/array.c +++ b/ext/standard/array.c @@ -4412,9 +4412,7 @@ PHP_FUNCTION(array_multisort) ZVAL_DEREF(arg); if (Z_TYPE_P(arg) == IS_ARRAY) { - if (Z_IMMUTABLE_P(arg)) { - zval_copy_ctor(arg); - } + SEPARATE_ARRAY(arg); /* We see the next array, so we update the sort flags of * the previous array and reset the sort flags. */ if (i > 0) { |
