]> granicus.if.org Git - php/commitdiff
Revert "Fixed segfault in file cache serialize if live range is empty after"
authorXinchen Hui <laruence@gmail.com>
Mon, 15 Feb 2016 04:09:13 +0000 (12:09 +0800)
committerXinchen Hui <laruence@gmail.com>
Mon, 15 Feb 2016 04:09:13 +0000 (12:09 +0800)
This reverts commit 2661a474793f7a599dba5353874a3d381e4b820b.

ext/opcache/Optimizer/zend_optimizer.c

index f398a8392729a797831552bb8a86a384445cfa0b..e2a12de108bea498740a3a7f44005e667420639a 100644 (file)
@@ -368,20 +368,16 @@ void zend_optimizer_remove_live_range(zend_op_array *op_array, uint32_t var)
                        i++;
                } while (i < op_array->last_live_range);
                if (i != j) {
-                       if ((op_array->last_live_range = j)) {
-                               zend_op *opline = op_array->opcodes;
-                               zend_op *end = opline + op_array->last;
-
-                               while (opline != end) {
-                                       if ((opline->opcode == ZEND_FREE || opline->opcode == ZEND_FE_FREE) &&
-                                                       opline->extended_value == ZEND_FREE_ON_RETURN) {
-                                               opline->op2.num = map[opline->op2.num];
-                                       }
-                                       opline++;
+                       zend_op *opline = op_array->opcodes;
+                       zend_op *end = opline + op_array->last;
+
+                       op_array->last_live_range = j;
+                       while (opline != end) {
+                               if ((opline->opcode == ZEND_FREE || opline->opcode == ZEND_FE_FREE) &&
+                                   opline->extended_value == ZEND_FREE_ON_RETURN) {
+                                       opline->op2.num = map[opline->op2.num];
                                }
-                       } else {
-                               efree(op_array->live_range);
-                               op_array->live_range = NULL;
+                               opline++;
                        }
                }
                free_alloca(map, use_heap);