zval *zend_std_read_property(zval *object, zval *member, int type, void **cache_slot, zval *rv) /* {{{ */
{
zend_object *zobj;
- zval tmp_member;
+ zval tmp_member, tmp_object;
zval *retval;
- uint32_t property_offset;
+ uintptr_t property_offset;
uint32_t *guard = NULL;
zobj = Z_OBJ_P(object);
} else {
retval = &EG(uninitialized_zval);
}
+ zval_ptr_dtor(&tmp_object);
goto exit;
} else {
- zval_ptr_dtor(&tmp_object);
if (Z_STRVAL_P(member)[0] == '\0' && Z_STRLEN_P(member) != 0) {
++ zval_ptr_dtor(&tmp_object);
zend_throw_error(NULL, "Cannot access property started with '\\0'");
retval = &EG(uninitialized_zval);
goto exit;