diff options
author | Zeev Suraski <zeev@php.net> | 1999-07-27 00:14:34 +0000 |
---|---|---|
committer | Zeev Suraski <zeev@php.net> | 1999-07-27 00:14:34 +0000 |
commit | 9d0d2e5a69b8f1c2b53f715b2af1e115f0d244a1 (patch) | |
tree | 3dc0905cb3ff83c10128eb00f4ef524145a0a303 | |
parent | 09628fd51e56a9156ba3041b452bb8293bf2e936 (diff) | |
download | php-git-9d0d2e5a69b8f1c2b53f715b2af1e115f0d244a1.tar.gz |
Set reference count and is_ref values for new objects
-rw-r--r-- | Zend/zend_execute.c | 4 |
1 files changed, 3 insertions, 1 deletions
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); |