From 2768315856be2c2df291b275b76d90fb6ef09414 Mon Sep 17 00:00:00 2001 From: Nikita Popov Date: Wed, 19 Dec 2012 15:21:34 +0100 Subject: [PATCH] Add missing zend_do_free call This is a followup to d53f1bf8ab. When the yield *statement* is used its return value still needs to be freed. --- Zend/zend_language_parser.y | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Zend/zend_language_parser.y b/Zend/zend_language_parser.y index c1514c5d783c1..c97361b20b1f1 100644 --- a/Zend/zend_language_parser.y +++ b/Zend/zend_language_parser.y @@ -300,7 +300,7 @@ unticked_statement: | T_RETURN ';' { zend_do_return(NULL, 0 TSRMLS_CC); } | T_RETURN expr_without_variable ';' { zend_do_return(&$2, 0 TSRMLS_CC); } | T_RETURN variable ';' { zend_do_return(&$2, 1 TSRMLS_CC); } - | yield_expr ';' { $$ = $1; } + | yield_expr ';' { zend_do_free(&$1 TSRMLS_CC); } | T_GLOBAL global_var_list ';' | T_STATIC static_var_list ';' | T_ECHO echo_expr_list ';'