diff --git a/NEWS b/NEWS index 26b89968915..4288addef4d 100644 --- a/NEWS +++ b/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) diff --git a/ext/opcache/Optimizer/zend_ssa.c b/ext/opcache/Optimizer/zend_ssa.c index 529cb6166ee..b8229eceac3 100644 --- a/ext/opcache/Optimizer/zend_ssa.c +++ b/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; } diff --git a/ext/opcache/tests/ssa_bug_010.phpt b/ext/opcache/tests/ssa_bug_010.phpt new file mode 100644 index 00000000000..1eadaa2f537 --- /dev/null +++ b/ext/opcache/tests/ssa_bug_010.phpt @@ -0,0 +1,32 @@ +--TEST-- +Wrong assertion +--FILE-- + +OK +--EXPECT-- +OK