void php_property_proxy_free(php_property_proxy_t **proxy)
{
if (*proxy) {
- zval_ptr_dtor( &(*proxy)->container);
+ zval_ptr_dtor(&(*proxy)->container);
zend_string_release((*proxy)->member);
efree(*proxy);
*proxy = NULL;
proxy_obj = php_property_proxy_object_new_ex(NULL, proxy);
ZVAL_OBJ(&proxy_obj->myself, &proxy_obj->zo);
- Z_ADDREF(proxy_obj->myself);
return &proxy_obj->myself;
}
static zval *get_proxied_value(zval *object, zval *return_value)
{
- zval *hash_value, *ref;
+ zval *hash_value, *ref, prop_tmp;
php_property_proxy_object_t *obj;
obj = get_propro(object);
switch (Z_TYPE_P(ref)) {
case IS_OBJECT:
RETVAL_ZVAL(zend_read_property(Z_OBJCE_P(ref), ref,
- obj->proxy->member->val, obj->proxy->member->len, 0),
+ obj->proxy->member->val, obj->proxy->member->len, 0, &prop_tmp),
0, 0);
break;