summaryrefslogtreecommitdiff
path: root/ext/spl/spl_functions.c
diff options
context:
space:
mode:
Diffstat (limited to 'ext/spl/spl_functions.c')
-rw-r--r--ext/spl/spl_functions.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/ext/spl/spl_functions.c b/ext/spl/spl_functions.c
index ceb5330a9f..6c04bb3cd9 100644
--- a/ext/spl/spl_functions.c
+++ b/ext/spl/spl_functions.c
@@ -94,8 +94,11 @@ void spl_add_interfaces(zval *list, zend_class_entry * pce, int allow, int ce_fl
{
uint32_t num_interfaces;
- for (num_interfaces = 0; num_interfaces < pce->num_interfaces; num_interfaces++) {
- spl_add_class_name(list, pce->interfaces[num_interfaces], allow, ce_flags);
+ if (pce->num_interfaces) {
+ ZEND_ASSERT(!(pce->ce_flags & ZEND_ACC_UNRESOLVED_INTERFACES));
+ for (num_interfaces = 0; num_interfaces < pce->num_interfaces; num_interfaces++) {
+ spl_add_class_name(list, pce->interfaces[num_interfaces], allow, ce_flags);
+ }
}
}
/* }}} */