summaryrefslogtreecommitdiff
path: root/Zend/zend_opcode.c
diff options
context:
space:
mode:
Diffstat (limited to 'Zend/zend_opcode.c')
-rw-r--r--Zend/zend_opcode.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/Zend/zend_opcode.c b/Zend/zend_opcode.c
index a0fd5a71a6..451104aaf0 100644
--- a/Zend/zend_opcode.c
+++ b/Zend/zend_opcode.c
@@ -262,7 +262,15 @@ ZEND_API void destroy_zend_class(zval *zv)
} ZEND_HASH_FOREACH_END();
}
zend_hash_destroy(&ce->constants_table);
- if (ce->num_interfaces > 0 && ce->interfaces) {
+ if (ce->num_interfaces > 0) {
+ if (ce->ce_flags & ZEND_ACC_UNRESOLVED_INTERFACES) {
+ uint32_t i;
+
+ for (i = 0; i < ce->num_interfaces; i++) {
+ zend_string_release_ex(ce->interface_names[i].name, 0);
+ zend_string_release_ex(ce->interface_names[i].lc_name, 0);
+ }
+ }
efree(ce->interfaces);
}
if (ce->info.user.doc_comment) {