@@ -426,17 +426,16 @@ static void zval_from_stack_add_frame_variables(zval *frame, zend_execute_data *
426426
427427 for (j = 0 ; j < (unsigned int ) opa -> last_var ; j ++ ) {
428428 xdebug_str * symbol_name ;
429- zval * symbol ;
429+ zval symbol ;
430430
431431 symbol_name = xdebug_str_create_from_char (opa -> vars [j ]-> val );
432- symbol = ZEND_CALL_VAR_NUM ( xdebug_lib_get_active_data (), j );
432+ xdebug_get_php_symbol ( & symbol , symbol_name );
433433 xdebug_str_free (symbol_name );
434434
435- if (Z_TYPE_P (symbol ) == IS_UNDEF ) {
435+ if (Z_TYPE (symbol ) == IS_UNDEF ) {
436436 add_assoc_null_ex (& variables , opa -> vars [j ]-> val , opa -> vars [j ]-> len );
437437 } else {
438- Z_TRY_ADDREF_P (symbol );
439- add_assoc_zval_ex (& variables , opa -> vars [j ]-> val , opa -> vars [j ]-> len , symbol );
438+ add_assoc_zval_ex (& variables , opa -> vars [j ]-> val , opa -> vars [j ]-> len , & symbol );
440439 }
441440 }
442441}
@@ -464,7 +463,7 @@ static void zval_from_stack_add_frame(zval *output, function_stack_entry *fse, z
464463
465464 zval_from_stack_add_frame_parameters (frame , fse , params_as_values );
466465
467- if (add_local_vars && fse -> op_array && fse -> op_array -> vars && (fse -> function .type & XFUNC_INCLUDES ) != XFUNC_INCLUDES ) {
466+ if (add_local_vars && fse -> op_array && fse -> op_array -> vars && ! (fse -> function .type & XFUNC_INCLUDES )) {
468467 zval_from_stack_add_frame_variables (frame , edata , fse -> symbol_table , fse -> op_array );
469468 }
470469
0 commit comments