]> granicus.if.org Git - php/commitdiff
Don't keep wrong jump target in last CATCH.
authorDmitry Stogov <dmitry@zend.com>
Wed, 18 Nov 2015 21:47:08 +0000 (00:47 +0300)
committerDmitry Stogov <dmitry@zend.com>
Wed, 18 Nov 2015 21:47:08 +0000 (00:47 +0300)
Zend/zend_compile.c

index 092c7af4664fabca1df1643432370a352a661a86..40bdc9ffd0ded556ddddd73621564f5a32ec32ec 100644 (file)
@@ -4371,7 +4371,9 @@ void zend_compile_try(zend_ast *ast) /* {{{ */
                }
 
                opline = &CG(active_op_array)->opcodes[opnum_catch];
-               opline->extended_value = get_next_op_number(CG(active_op_array));
+               if (!is_last_catch) {
+                       opline->extended_value = get_next_op_number(CG(active_op_array));
+               }
        }
 
        for (i = 0; i < catches->children; ++i) {