]> granicus.if.org Git - php/commitdiff
On PHP-7.1 and above we have to check CALL_INFO instead of symbol_table.
authorDmitry Stogov <dmitry@zend.com>
Mon, 26 Sep 2016 13:16:07 +0000 (16:16 +0300)
committerDmitry Stogov <dmitry@zend.com>
Mon, 26 Sep 2016 13:16:07 +0000 (16:16 +0300)
Zend/zend_builtin_functions.c

index 1c20011f124ac279578d4730ae056071b6267833..0fb0036b7f467cfc9c7e3b46c537252f94ef33b7 100644 (file)
@@ -2295,7 +2295,7 @@ static void debug_backtrace_get_args(zend_execute_data *call, zval *arg_array) /
                        if (call->func->type == ZEND_USER_FUNCTION) {
                                uint32_t first_extra_arg = MIN(num_args, call->func->op_array.num_args);
 
-                               if (UNEXPECTED(call->symbol_table)) {
+                               if (UNEXPECTED(ZEND_CALL_INFO(call) & ZEND_CALL_HAS_SYMBOL_TABLE)) {
                                        /* In case of attached symbol_table, values on stack may be invalid
                                         * and we have to access them through symbol_table
                                         * See: https://bugs.php.net/bug.php?id=73156