X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=php_propro.c;h=090b0dabe8e868e55a32acab7ddbd7003156a2f7;hb=570d20ee590ab1b9636272be745ab1bb73bbc683;hp=d0a69c6e422a0f84e43f01270ef55aaeeac91626;hpb=ca4c8e0bc0fb8f799815325cb4724275bddc9b28;p=m6w6%2Fext-propro diff --git a/php_propro.c b/php_propro.c index d0a69c6..090b0da 100644 --- a/php_propro.c +++ b/php_propro.c @@ -43,7 +43,7 @@ php_property_proxy_t *php_property_proxy_init(zval *container, zend_string *memb 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; @@ -59,7 +59,6 @@ zval *php_property_proxy_zval(zval *container, zend_string *member) 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; } @@ -247,7 +246,7 @@ static zval *get_parent_proxied_value(zval *object, zval *return_value) 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); @@ -271,7 +270,7 @@ static zval *get_proxied_value(zval *object, zval *return_value) 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;