]> granicus.if.org Git - php/commitdiff
Fixed retutn type inference when return undefined variable
authorDmitry Stogov <dmitry@zend.com>
Mon, 1 Jun 2020 13:26:22 +0000 (16:26 +0300)
committerDmitry Stogov <dmitry@zend.com>
Mon, 1 Jun 2020 13:26:22 +0000 (16:26 +0300)
ext/opcache/jit/zend_jit_trace.c

index f72c87e4f7a7feae05346df5bcfe56e2de51c250..7c2cfb5e2e1add0a2010ccbb2a82b95765d1a0f9 100644 (file)
@@ -1469,6 +1469,10 @@ propagate_arg:
                                        } else {
                                                ZEND_ASSERT(ssa_ops[idx].op1_use >= 0);
                                                return_value_info = ssa_var_info[ssa_ops[idx].op1_use];
+                                               if (return_value_info.type & MAY_BE_UNDEF) {
+                                                       return_value_info.type &= ~MAY_BE_UNDEF;
+                                                       return_value_info.type |= MAY_BE_NULL;
+                                               }
                                                return_value_info.type &= ~MAY_BE_GUARD;
                                        }
                                        break;