summaryrefslogtreecommitdiff
path: root/Zend/zend_interfaces.c
diff options
context:
space:
mode:
authorNikita Popov <nikita.ppv@gmail.com>2020-06-25 10:30:40 +0200
committerNikita Popov <nikita.ppv@gmail.com>2020-06-25 10:30:40 +0200
commitf37138d2c5408916ed80839b94431d268b7fe24f (patch)
treef446b5651c9c92820ae6ae953e4f768406a1a902 /Zend/zend_interfaces.c
parent47fae8425f5d03060e33b0960084b04a60ee1a21 (diff)
downloadphp-git-f37138d2c5408916ed80839b94431d268b7fe24f.tar.gz
Don't use iterator_funcs_ptr if it is null
This avoids ubsan warnings. Alternatively we could always initialize iterator_funcs_ptr for aggregates, instead of doing so only for non-internal ones.
Diffstat (limited to 'Zend/zend_interfaces.c')
-rw-r--r--Zend/zend_interfaces.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/Zend/zend_interfaces.c b/Zend/zend_interfaces.c
index 6d35e7159c..3009af2b3f 100644
--- a/Zend/zend_interfaces.c
+++ b/Zend/zend_interfaces.c
@@ -89,7 +89,8 @@ ZEND_API zval* zend_call_method(zend_object *object, zend_class_entry *obj_ce, z
/* {{{ zend_user_it_new_iterator */
ZEND_API void zend_user_it_new_iterator(zend_class_entry *ce, zval *object, zval *retval)
{
- zend_call_method_with_0_params(Z_OBJ_P(object), ce, &ce->iterator_funcs_ptr->zf_new_iterator, "getiterator", retval);
+ zend_call_known_instance_method_with_0_params(
+ ce->iterator_funcs_ptr->zf_new_iterator, Z_OBJ_P(object), retval);
}
/* }}} */