summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNikita Popov <nikic@php.net>2015-04-04 10:52:43 +0200
committerNikita Popov <nikic@php.net>2015-04-04 10:52:43 +0200
commitfa15ac4c3774c80a9c00956407fb89725bac7bc7 (patch)
treeb7d1ecbd03b1391ed51ea2f7a62438cfe287eaaf
parent86906d6a7bbb9c4b69c1ddbd6a3a9bc1efcf091e (diff)
downloadphp-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.c4
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) {