Browse Source

Fixed assertion on phpMyAdmin-4.7.5 home page

pull/2904/merge
Dmitry Stogov 9 years ago
parent
commit
b6294bbc6c
  1. 3
      NEWS
  2. 6
      ext/opcache/Optimizer/zend_ssa.c
  3. 32
      ext/opcache/tests/ssa_bug_010.phpt

3
NEWS

@ -16,6 +16,9 @@ PHP NEWS
. Fixed bug #75434 (Wrong reflection for mysqli_fetch_all function). (Fabien
Villepinte)
- Opcache:
. Fixed assertion on phpMyAdmin-4.7.5 home page. (Dmitry)
- SOAP:
. Fixed bug #75464 (Wrong reflection on SoapClient::__setSoapHeaders). (villfa)

6
ext/opcache/Optimizer/zend_ssa.c

@ -1279,7 +1279,11 @@ static inline void zend_ssa_remove_phi_source(zend_ssa *ssa, zend_ssa_phi *phi,
for (j = 0; j < predecessors_count; j++) {
if (phi->sources[j] == var_num) {
if (j < pred_offset) {
ZEND_ASSERT(phi->use_chains[pred_offset] == NULL);
if (next_phi == NULL) {
next_phi = phi->use_chains[pred_offset];
} else {
ZEND_ASSERT(phi->use_chains[pred_offset] == NULL);
}
} else if (j >= pred_offset) {
phi->use_chains[j] = next_phi;
}

32
ext/opcache/tests/ssa_bug_010.phpt

@ -0,0 +1,32 @@
--TEST--
Wrong assertion
--FILE--
<?php
function foo($parts, $a, $b) {
$name = $a;
$level = 1;
foreach ($parts as $part) {
if ($level == 1) {
$level = 4;
$found = true;
switch ($part) {
case 'general':
break;
case 'bg':
$name = $b;
break;
}
if ($found) {
continue;
}
}
if ($level == 2) {
continue;
}
}
return $name;
}
?>
OK
--EXPECT--
OK
Loading…
Cancel
Save