From 9d0d2e5a69b8f1c2b53f715b2af1e115f0d244a1 Mon Sep 17 00:00:00 2001 From: Zeev Suraski Date: Tue, 27 Jul 1999 00:14:34 +0000 Subject: [PATCH] Set reference count and is_ref values for new objects --- Zend/zend_execute.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Zend/zend_execute.c b/Zend/zend_execute.c index a6663fee59..8751982264 100644 --- a/Zend/zend_execute.c +++ b/Zend/zend_execute.c @@ -1332,7 +1332,6 @@ binary_assign_op_addr: { } else { /* used for member function calls */ object_ptr = _get_object_zval_ptr(&opline->op1, Ts, &free_op1 ELS_CC); - if (!object_ptr || ((object_ptr->type==IS_OBJECT) && (object_ptr->value.obj.ce->handle_function_call))) { /* overloaded function call */ zend_overloaded_element overloaded_element; @@ -1694,6 +1693,9 @@ send_by_ref: zend_error(E_ERROR, "Cannot instanciate non-existant class: %s", class_name.value.str.val); } object_init_ex(&Ts[opline->result.u.var].tmp_var, ce); + Ts[opline->result.u.var].tmp_var.refcount=1; + Ts[opline->result.u.var].tmp_var.EA.is_ref=1; + Ts[opline->result.u.var].tmp_var.EA.locks=0; zval_dtor(&class_name); FREE_OP(&opline->op1, free_op1); -- 2.50.0