]> granicus.if.org Git - php/commitdiff
cleanup tmp_member handling
authorXinchen Hui <laruence@gmail.com>
Thu, 10 Sep 2015 06:39:25 +0000 (14:39 +0800)
committerXinchen Hui <laruence@gmail.com>
Thu, 10 Sep 2015 06:39:25 +0000 (14:39 +0800)
Zend/zend_object_handlers.c

index 32534d02dee8c1651da1070af706ed18bc4f3b88..14a68a87d29cbd43b740266c1a562689e580fe18 100644 (file)
@@ -602,11 +602,10 @@ zval *zend_std_read_property(zval *object, zval *member, int type, void **cache_
        retval = &EG(uninitialized_zval);
 
 exit:
-       if (UNEXPECTED(Z_TYPE(tmp_member) != IS_UNDEF)) {
-               if (Z_REFCOUNTED_P(retval)) Z_ADDREF_P(retval);
+       if (Z_REFCOUNTED(tmp_member)) {
                zval_ptr_dtor(&tmp_member);
-               if (Z_REFCOUNTED_P(retval)) Z_DELREF_P(retval);
        }
+
        return retval;
 }
 /* }}} */
@@ -703,7 +702,7 @@ write_std_property:
        }
 
 exit:
-       if (UNEXPECTED(Z_TYPE(tmp_member) != IS_UNDEF)) {
+       if (Z_REFCOUNTED(tmp_member)) {
                zval_ptr_dtor(&tmp_member);
        }
 }
@@ -935,7 +934,7 @@ static void zend_std_unset_property(zval *object, zval *member, void **cache_slo
        }
 
 exit:
-       if (UNEXPECTED(Z_TYPE(tmp_member) != IS_NULL)) {
+       if (Z_REFCOUNTED(tmp_member)) {
                zval_ptr_dtor(&tmp_member);
        }
 }
@@ -1507,7 +1506,7 @@ found:
        }
 
 exit:
-       if (UNEXPECTED(Z_TYPE(tmp_member) != IS_UNDEF)) {
+       if (Z_REFCOUNTED(tmp_member)) {
                zval_ptr_dtor(&tmp_member);
        }
        return result;