]> granicus.if.org Git - php/commitdiff
Fixed incorrect reuse of exit_point
authorDmitry Stogov <dmitry@zend.com>
Tue, 28 Jul 2020 20:31:58 +0000 (23:31 +0300)
committerDmitry Stogov <dmitry@zend.com>
Tue, 28 Jul 2020 20:31:58 +0000 (23:31 +0300)
ext/opcache/jit/zend_jit_trace.c

index d894b50f1800ead60bacf3342c1394f582a88d23..6ef493e3edc2e2a880031a82657c42630c0c539d 100644 (file)
@@ -174,7 +174,8 @@ static uint32_t zend_jit_trace_get_exit_point(const zend_op *from_opline, const
                          && memcmp(t->stack_map + t->exit_info[i].stack_offset, stack, stack_size * sizeof(zend_jit_trace_stack)) == 0)) {
                                stack_offset = t->exit_info[i].stack_offset;
                                if (t->exit_info[i].opline == to_opline
-                                && t->exit_info[i].flags == flags) {
+                                && t->exit_info[i].flags == flags
+                                && t->exit_info[i].stack_size == stack_size) {
                                        return i;
                                }
                        }