From f039225597b51f2ee02a050391d497ae68d63b39 Mon Sep 17 00:00:00 2001 From: Xinchen Hui Date: Thu, 5 Mar 2015 18:16:39 +0800 Subject: Fixed bug #69174 (leaks when unused inner class use traits precedence) --- Zend/zend_opcode.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'Zend/zend_opcode.c') diff --git a/Zend/zend_opcode.c b/Zend/zend_opcode.c index e03cf3073e..b8e850d629 100644 --- a/Zend/zend_opcode.c +++ b/Zend/zend_opcode.c @@ -256,9 +256,14 @@ void _destroy_zend_class_traits_info(zend_class_entry *ce) efree(ce->trait_precedences[i]->trait_method); if (ce->trait_precedences[i]->exclude_from_classes) { + zend_uint j = 0; + zend_trait_precedence *cur_precedence = ce->trait_precedences[i]; + while (cur_precedence->exclude_from_classes[j]) { + efree(cur_precedence->exclude_from_classes[j]); + j++; + } efree(ce->trait_precedences[i]->exclude_from_classes); } - efree(ce->trait_precedences[i]); i++; } -- cgit v1.2.1