mirror of
https://github.com/php/php-src.git
synced 2026-04-14 19:41:05 +02:00
Fixed bug #74431
If the last instruction in a block is a NOP, then `new_opline` here won't be a copy of `opline`, it will be a copy of the last non-NOP opline. Avoid performing a spurious update by explicitly checking for NOP.
This commit is contained in:
3
NEWS
3
NEWS
@@ -37,6 +37,9 @@ PHP NEWS
|
||||
microseconds/fractions). (Andrew Nester)
|
||||
. Fixed bug #74433 (wrong reflection for Normalizer methods). (villfa)
|
||||
|
||||
- Opcache:
|
||||
. Fixed bug #74431 (foreach infinite loop). (Nikita)
|
||||
|
||||
- OpenSSL:
|
||||
. Fixed bug #74341 (openssl_x509_parse fails to parse ASN.1 UTCTime without
|
||||
seconds). (Moritz Fain)
|
||||
|
||||
@@ -162,8 +162,12 @@ static void zend_ssa_remove_nops(zend_op_array *op_array, zend_ssa *ssa)
|
||||
zend_op *opline;
|
||||
zend_op *new_opline;
|
||||
|
||||
opline = op_array->opcodes + end - 1;
|
||||
b->len = target - b->start;
|
||||
opline = op_array->opcodes + end - 1;
|
||||
if (opline->opcode == ZEND_NOP) {
|
||||
continue;
|
||||
}
|
||||
|
||||
new_opline = op_array->opcodes + target - 1;
|
||||
switch (new_opline->opcode) {
|
||||
case ZEND_JMP:
|
||||
|
||||
Reference in New Issue
Block a user